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 }