sort函数,调用时使用函数头:
#include <algorithm>
sort(begin,end);用来表示一个范围。
1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 int a[20]={2,4,1,23,5,76,0,43,24,65},i; 4 for(i=0;i<20;i++) 5 cout<<a[i]<<endl; 6 sort(a,a+20); 7 for(i=0;i<20;i++) 8 cout<<a[i]<<endl; 9 return 0; 10 }
sort默认是升序排列的,当要更改为降序排列:
那么首先是自己写一个比较函数,然后调用三个参数的sort即可
调用三个参数的sort:sort(begin,end,compare)
1 bool compare(int a,int b) 2 { 3 return a<b; //升序排列,如果改为return a>b,则为降序 4 5 } 6 7 int _tmain(int argc, _TCHAR* argv[]) 8 { 9 int a[20]={2,4,1,23,5,76,0,43,24,65},i; 10 for(i=0;i<20;i++) 11 cout<<a[i]<<endl; 12 sort(a,a+20,compare); 13 for(i=0;i<20;i++) 14 cout<<a[i]<<endl; 15 return 0; 16 }
struct name{
char a[20];
int b;
}ch[max];
bool cmp(name A, name B){
return A.b>B.b;
}
for(int i=0; i<n; i++){
cin>>ch[i].a>>ch[i].b;
}
sort(ch, ch+n, cmp);
for(int i=0; i<n; i++){
cout<<ch[i].a<<" "<<ch[i].b<<endl;
}
时间: 2024-12-21 22:28:08