排序篇#1:
1.sort使用
必要头文件:
#include <algorithm>;
简单的:
int a[10];
sort(a,a+10);//默认升序
sort(a,a+10,greater<int>());//降序
2.结构体排序(与sort结合使用)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
struct A
{
int num;
int sum;
char name[10];
}acmer[1000];
bool cmp(A x,A y)
{
if(x.num!=y.num)
return x.num>y.num;
else if(x.sum!=y.sum)
return x.sum<y.sum;
else
return strcmp(x.name,y.name)<0;
}
int main()
{
freopen("in.txt","r",stdin);//*
int n,m;
int as,bs,i,j;
char s;
scanf("%d %d",&n,&m);
int t=0;
memset(acmer,0,sizeof(acmer));
while(~scanf("%s",acmer[t].name))
{
for(i=0;i<n;i++)
{
scanf("%d%c",&as,&s);//注意此处空格%d%c 之间不能有空格
if(as>0){
acmer[t].num++;
if(s=='('){
scanf("%d%c",&bs,&s);//!!
acmer[t].sum+=as+m*bs;
}
else
acmer[t].sum+=as;
}
}
t++;
}
sort(acmer,acmer+t,cmp);
for(j=0;j<t;j++)
printf("%-10s %2d %4d\n",acmer[j].name,acmer[j].num,acmer[j].sum);
return 0;
}
//HDU - 1862
freopen("in.txt","r",stdin);
有了它,我们不需要再用键盘读入样本数据(题目给的input),便可以坐等小黑窗自动output;
怎么建立呢?
我们只需要在project 所在的file里新建一个文本文档,并命名为 in ,
然后把样本数据(题目给的input)复制到in文本文档里保存即可。
3.字符串排序
//待耕。。。。