突然忘了快速逆序的方法,在网上搜索vector逆序发现没有,于是自己写一下,帮助大家快速查找。
假如你有一个vector里面有元素1,2,3,4,5,则逆序方法如下。
方法一:
vector<int> v;
for(int i=1;i<=5;i++){
v.push_back(i);
}
sort(v.begin(),v.end(),greater<int>());
方法一比方法二方便。
方法二:
vector<int> v;
for(int i=1;i<=5;i++){
v.push_back(i);
}
sort(v.begin(),v.end());
reverse(v.begin(),v.end());
方法三:
static bool greater(int a,int b){
return a > b;
}
int main(){
vector<int> v;
for(int i=1;i<=5;i++){
v.push_back(i);
}
sort(v.begin(),v.end(),greater);
}
方法四(推荐):
你也可以通过使用rbegin,rend指针逆序排序。文章来源:https://www.toymoban.com/news/detail-582972.html
vector<int> v;
for(int i=1;i<=5;i++){
v.push_back(i);
}
sort(v.rbegin(),v.rend());
另外:
或者你想要按照元素的绝对值排序,可以这么写。文章来源地址https://www.toymoban.com/news/detail-582972.html
static bool cmp(int a,int b){
return abs(a)>abs(b);
}
int main(){
vector<int> v;
v.push_back(3);
v.push_back(-2);
v.push_back(10);
sort(v.begin(),v.end(),cmp);
}
到了这里,关于C++ vector逆序排序的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!