sort函数:#include <algorithm>,默认从小到大,如果降序可写第三方函数进行排序,EXP:sort(array,array+n,cmp)
1.普通排序,升序
01 | #include <iostream> |
02 | #include <algorithm> |
03 | using namespace std; |
04 | int main() |
05 | { |
06 | int a[10]={7,3,4,6,5,1,2,9,8,0}; |
07 | sort(a,a+10); |
08 | for ( int i=0;i<10;i++) |
09 | cout<<a[i]<< " " ; |
10 | return 0; |
11 | } |
12 | OUTPUT:0 1 2 3 4 5 6 7 8 9 |
普通排序,降序
01 | #include <iostream> |
02 | #include <algorithm> |
03 | using namespace std; |
04 | bool cmp( int a, int b) |
05 | { |
06 | return a>b; |
07 | } |
08 | int main() |
09 | { |
10 | int a[10]={7,3,4,6,5,1,2,9,8,0}; |
11 | sort(a,a+10,cmp); |
12 | for ( int i=0;i<10;i++) |
13 | cout<<a[i]<< " " ; |
14 | return 0; |
15 | } |
16 | OUTPUT:9 8 7 6 5 4 3 2 1 0 |
2.结构体排序,a升,b降,c降
01 | #include <iostream> |
02 | #include <algorithm> |
03 | using namespace std; |
04 | struct data |
05 | { |
06 | int a; |
07 | int b; |
08 | int c; |
09 | }; |
10 | bool cmp(data x,data y) |
11 | { |
12 | if (x.a!=y.a) return x.a<x.y; |
13 | if (x.b!=y.b) return x.b>y.b; |
14 | if (x.c!=y.c) return x.c>y.c; |
15 | } |
16 | int main() |
17 | { |
18 | ..... |
19 | sort(array,array+n,cmp); |
20 | return 0; |
21 | } |
原创文章,转载请注明: 转载自C/C++程序员之家