spider

导航

 

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

 

posted on 2020-06-20 23:21  黑色spider  阅读(1988)  评论(0编辑  收藏  举报