c++ sort

首先是要加头文件

#include<algorithm>

sort(begin,end,排序方法(可选));

有三个参数,但是第三个参数默认为升序。

 1  #include<iostream>
 2  #include<algorithm>
 3  using namespace std;
 4  int main()
 5  {
 6      int a[5]={2,4,3,2,6};
 7      sort(a,a+5);
 8      for(int i=0;i<5;i++)
 9      {
10      cout<<a[i]<<endl;
11      }
12      return 0;
13  } 

如果要降序的话,自己写第三个参数:

 1  #include<iostream>
 2  #include<algorithm>
 3  using namespace std;
 4  int compare(int a,int b)
 5  {
 6      if(a>b)
 7          return a;
 8  }
 9  int main()
10  {
11      int a[5]={2,4,3,2,6};
12      sort(a,a+5,compare);
13      for(int i=0;i<5;i++)
14      {
15      cout<<a[i]<<endl;
16      }
17      return 0;
18  } 

同样的,也可以为结构体排序:

 1  #include<iostream>
 2  #include<algorithm>
 3  using namespace std;
 4  struct node{
 5      int value;
 6      int index;
 7      creat(int value,int index)
 8      {
 9         this->value=value;
10         this->index=index;
11      }
12  };
13 
14  bool compare(node a,node b)
15  {
16          return a.value>b.value;
17  }
18  int main()
19  {
20      struct node a[5];
21     a[0]={1,1};
22     a[1]={2,2};
23     a[2]={3,3};
24     a[3]={4,4};
25     a[4]={5,5};
26      sort(a,a+5,compare);
27      for(int i=0;i<5;i++)
28      {
29      cout<<a[i].value<<endl;
30     }
31      return 0;
32  } 

 

posted @ 2020-03-04 20:31  caxi  阅读(175)  评论(0编辑  收藏  举报