sort函数
头文件:algorithm
功能:排序(默认是升序)
如:
b[100];
sort(b,b+100);
可以自己定义cmp比较函数来决定sort函数的比较规则。
<span style="font-size:18px;">#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <string.h>
using namespace std;
struct G{
char name[101];
int age;
int grade;
}g[1000];
//使用sort函数
bool cmp(G a,G b){
if(a.grade!=b.grade)return a.grade<b.grade;
int temp=strcmp(a.name,b.name);
if(temp!=0)return temp<0;
else return a.age<b.age;
}
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
scanf("%s%d%d",g[i].name,&g[i].age,&g[i].grade);
}
sort(g,g+n,cmp);//重载sort函数
for(i=0;i<n;i++){
printf("%s %d %d\n",g[i].name,g[i].age,g[i].grade);
}
}
return 0;
}</span>
头文件:string.h
功能:比较两个字符串的大小。
如:
char a[100],b[100]
赋值等操作,省略
int temp=strcmp(a,b);
如果字符串a大于字符串b则返回值为正数(非1),等于返回0,小于返回负数。