C++ vector容器的排序 (从小到大,从大到小)
从小到大排序比较简单,使用sort()函数既可,sort的头文件是#include<algorithm>从小到大#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() {int a[] = {8,6,2,9,3,5,4,1,7,10}
文章共815字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
目录
从小到大
sort的头文件<algorithm>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
从大到小
-
方法一:greater<int>()
sort默认排序从小到大,使用greater<int>()
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end(),greater<int>());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
-
方法二:自定义函数
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp_max(int x,int y){
return x > y;
}
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end(),cmp_max);
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
-
方法三:使用sort排序后,使用reverse()
reverse()只能 将元素倒置,但不排列
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end());
reverse(arr.begin(),arr.end());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
更多推荐
已为社区贡献2条内容
所有评论(0)