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()); // deque可實現降序
方式4:使用設計函數對象作為sort的第三個參數。
函數對象:
class MyCompare
{
public :
bool operator ()(int a,int b)
{
if (a > b) return true;
return false;
}
};
// 將參數傳入
sort(data.begin(), data.end(), MyCompare());