码迷,mamicode.com
首页 > 编程语言 > 详细

stl实现结构体排序关键语法要点(sort)

时间:2016-04-07 20:46:15      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

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 }
View Code

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 }
View Code

 

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;
}

stl实现结构体排序关键语法要点(sort)

标签:

原文地址:http://www.cnblogs.com/tianxia2s/p/5365194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!