
1.sort入门
使用sort函数需要包含头文件algorithm,完整代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include<iostream> #include<vector> #include<algorithm>//貌似可以不用,但最好加上。 using namespace std; int main() { vector<int>v; v.push_back(13); v.push_back(23); v.push_back(03); v.push_back(233); v.push_back(113); sort(v.begin(),v.end()); int i=0; for(i=0;i<5;i++) { cout<<v[i]<<endl; } system("pause"); return 0; }
|
运行结果如下:
3
13
23
113
233
2.上面运用了sort函数,我们发现,它是升序排列的。那么能不能降序排列呢?答案是可以的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include<iostream> #include<vector> #include<algorithm> using namespace std; bool comp(const int &a,const int &b) { return a>b; } int main() { vector<int>v; v.push_back(13); v.push_back(23); v.push_back(03); v.push_back(233); v.push_back(113); sort(v.begin(),v.end(),comp); int i=0; for(i=0;i<5;i++) { cout<<v[i]<<endl; } system("pause"); return 0; }
|
运行结果如下:
233
113
23
13
3
3.对结构体进行排序
只需修改comp函数即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include<iostream> #include<vector> #include<algorithm> using namespace std; struct ss { int a,b; }; bool comp(const ss &a,const ss &b) { return a.a<b.a; } int main() { vector<ss>v; ss s1,s2,s3,s4,s5; s1.a=4;s1.b=23; s2.a=1;s2.b=213; s3.a=2;s3.b=231; s4.a=5;s4.b=123; s5.a=3;s5.b=223; v.push_back(s1); v.push_back(s2); v.push_back(s3); v.push_back(s4); v.push_back(s5); sort(v.begin(),v.end(),comp); int i=0; for(i=0;i<5;i++) { cout<<v[i].a<<" "<<v[i].b<<endl; } system("pause"); return 0; }
|
近期评论