快排专题 HDU—1862
来源:互联网 发布:前苏联十大实验知乎 编辑:程序博客网 时间:2024/06/05 16:53
第一题 EXCEL排序 HDU-1862
题目意思很简单,测试多组样例,按照规定的顺序排序。存储编号,姓名,成绩,可以用结构体。排序的话用快排就可以
但要注意快排并不知道结构体中的编号怎么排,不知道结构体中的姓名怎么排,不知道结构体中的成绩怎么排
我们就要重载运算符(这道题说白了就是文字题)
代码如下
#include<iostream>#include<algorithm>#include<string.h>#include<string>const int manx=10000000;using namespace std;struct com{ char num[16]; char name[15]; int sorce;} a[manx];bool tmp1(com x,com y){ return strcmp(x.num,y.num)<0; //strcmp函数 进行字符串比较}bool tmp2(com x,com y){ if(strcmp(x.name ,y.name )!=0) { return strcmp(x.name ,y.name )<0; } else { return strcmp(x.num,y.num)<0; }}bool tmp3(com x,com y){ if((x.sorce!=y.sorce)) { return x.sorce<y.sorce; } else { return strcmp(x.num,y.num)<0; }}int main(){ int n,c,kase=0; while(cin>>n>>c&&(n!=0||c!=0)) { for(int i=0; i<n; i++) cin>>a[i].num>>a[i].name>>a[i].sorce; cout<<"Case "<<(++kase)<<":"<<endl; if(c==1) sort(a,a+n,tmp1); if(c==2) sort(a,a+n,tmp2); if(c==3) sort(a,a+n,tmp3); for(int i=0; i<n; i++) cout<<a[i].num<<" "<<a[i].name<<" "<<a[i].sorce<<endl; } return 0;}
阅读全文
1 0
- 快排专题 HDU—1862
- HDU 1425 快排
- hdu 1031快排
- hdu 1425 快排
- hdu 1425 快排&模板
- HDOJ(HDU) 1862 EXCEL排序(类对象的快排)
- 排序算法练习(快排&&堆排)——hdu 1040
- HDU-1106 快排模板 和 基数排序
- hdu 1880 二分+快排 水题
- 数据结构与算法专题之查找与排序——交换类排序(冒泡、快排与归并)
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- Linux系统服务的控制
- 朴素贝叶斯(离散型+连续型)
- 正则表达式
- 如何实现英语课程微信预约系统?
- 数论-判断素数,输出素数,最短时间
- 快排专题 HDU—1862
- Ubuntu常用操作(更新中)
- 5.利用‘按属性选择要素’来筛选不符合要求的要素
- 计算几何--POJ--2318--TOYS
- 扔盘子-(模拟)
- 周末日记
- 基于MongoDB数据库的Java程序实现增删改查功能
- js获取视频时长
- Win10 64位下GPU版本MXNet+Tensorflow 1.3.0的安装