sort用法

一、sort(a,a+7) a表示要排序的首地址,數組名錶明的就是一個數組的首地址,7是要排序的元素個數ios

1     int a[] = { 8,2,9,1,0,5,6 };
2     sort(a, a + 7);
3     for (int i = 0; i < 7; i++) {
4         cout << a[i] << " ";//0 1 2 5 6 8 9
5     }

 

二、sort(a+1,a+5) 表示將[a+1,a+5)區間中的元素排序數組

1     int a[] = { 8,2,9,1,0,5,6 };
2     sort(a+1, a + 5);
3     for (int i = 0; i < 7; i++) {
4         cout << a[i] << " ";//8 0 1 2 9 5 6
5     }

 

三、sort(a,a+7,greater<int>()) 按從大到小的順序排列函數

  sort默認是按照從小到大的順序排列的,greater表示更大的意思,即更大的數排在前面,<int>表示要排序的數組中的元素是int類型的spa

1     int a[] = { 8,2,9,1,0,5,6 };
2     sort(a, a + 7,greater<int>());
3     for (int i = 0; i < 7; i++) {
4         cout << a[i] << " ";//9 8 6 5 2 1 0
5     }

 

四、定義一個比較大小的函數cmpcode

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 bool cmp(int x, int y) {
 5     return x > y;//表示大的排在前面
 6 }
 7 int main() {
 8     int a[] = { 8,2,9,1,0,5,6 };
 9     sort(a, a + 7,cmp);
10     for (int i = 0; i < 7; i++) {
11         cout << a[i] << " ";//9 8 6 5 2 1 0
12     }
13 
14     return 0;
15 }

 

五、比較結構體大小blog

方法一:排序

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 struct A {
 5     int x;
 6     int y;
 7 };
 8 bool cmp(A m, A n) {
 9     return  m.y> n.y;//y更大的排在前面
10 }
11 int main() {
12     A a[] = { {1,3},{4,1},{5,9},{1,6},{8,2} };
13     sort(a, a + 5,cmp);
14     for (int i = 0; i < 5; i++) {
15         cout << "(" << a[i].x << "," << a[i].y << ")" << " ";
16         //(5,9) (1,6) (1,3) (8,2) (4,1)
17     }
18 
19     return 0;
20 }

方法二:it

相關文章
相關標籤/搜索