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());