­

c++ 對vector和deque進行逆序排序問題

1.vector

vector<int> data1;

2.deque 

deque <int> data2;

 

逆序排序方式:

方式1.使用reverse函數   (內置數據類型可以使用這種)

sort(data1.begin(),data1.end());    // vector先升序

sort(data2.begin(),data2.end());    //deque  先升序

reverse(data1.begin(),data1.end());   // vector再進行反轉

reverse(data2.begin(),data2.end());   // deque 再進行反轉  

方式2.對於自定義數據類型,我們可以重載 < 符號,將判斷方式換成 > ,哈哈哈“““回頭試試

 

方式3.使用rbegin()和rend()函數,   rbegin()的返回值指向最後一個元素,rend()的返回值指向第一個元素的前面的一個

sort(data1.begin(),data1.end());    // vector先升序

sort(data1.rbegin(), data1.rend());    // vector   可實現降序

// 疑問點

sort(data2.begin(),data.end());    //deque先升序

sort(data2.rbegin(), data2.rend());    // 經過我的測試,沒有實現降序,請大佬指點為什麼沒有實現降序

 

Tags: