hdu 1862
来源:互联网 发布:算法导论第三版4 2 编辑:程序博客网 时间:2024/06/05 06:03
水题。第一次用了插入排序结果超时,第二次换了希尔排序结果WA了(错在学号用的是int,输出用的是06d)换成char[]就过了。
#include <stdio.h>#include <string.h>#define N 100000struct student{char num[10]; //学号 原先用的intchar name[10];int score;}Excel[N];void Sort1(int);void Sort2(int);void Sort3(int);int main(void){int n,m,mark=0;while(scanf("%d%d",&n,&m)&&n){for(int i=0;i<n;++i)scanf("%s%s%d",Excel[i].num,Excel[i].name,&Excel[i].score);switch(m){case 1:Sort1(n);break;case 2:Sort2(n);break;case 3:Sort3(n);break;}printf("Case %d:\n",++mark);for(int i=0;i<n;++i)printf("%s %s %d\n",Excel[i].num,Excel[i].name,Excel[i].score);}return 0;}void swap(struct student *a,struct student *b){struct student t=*a;*a=*b;*b=t;}void Sort1(int n){for(int i=n/2;i>=1;i/=2)for(int j=i;j<n;++j)for(int k=j;k>=i&&strcmp(Excel[k].num,Excel[k-i].num)<0;k-=i)swap(&Excel[k],&Excel[k-i]);}void Sort2(int n){for(int i=n/2;i>=1;i/=2)for(int j=i;j<n;++j)for(int k=j;k>=i&&strcmp(Excel[k].name,Excel[k-i].name)<=0;k-=i)if(strcmp(Excel[k].name,Excel[k-i].name)==0){if(strcmp(Excel[k].num,Excel[k-i].num)<0)swap(&Excel[k],&Excel[k-i]);}elseswap(&Excel[k],&Excel[k-i]);}void Sort3(int n){for(int i=n/2;i>=1;i/=2)for(int j=i;j<n;++j)for(int k=j;k>=i&&Excel[k].score<=Excel[k-i].score;k-=i)if(Excel[k].score==Excel[k-i].score){if(strcmp(Excel[k].num,Excel[k-i].num)<0)swap(&Excel[k],&Excel[k-i]);}elseswap(&Excel[k],&Excel[k-i]);}
0 0
- hdu 1862
- HDU-1862
- hdu 1862
- hdu 1862
- hdu 1862
- hdu 1862 hdoj 1862
- hdu 1862 EXCEL排序
- hdu 1862 EXCEL排序
- HDU 1862 EXCEL排序
- hdu 1862 cmp函数
- HDU 1862 EXCEL排序
- hdu 1862 EXCEL排序
- hdu-1862-EXCEL排序
- hdu 1862 EXCEL排序
- hdu 1862 EXCEL排序
- hdu 1862 EXCEL排序
- hdu--1862 EXCEL排序
- HDU 1862 EXCEL排序
- 几种常用的经典频谱估计方法原理介绍及Matlab算法实现
- CentOS搭建ftp服务器
- linux 作业day05
- 洛谷 1003——铺地毯(简单的模拟)
- 【微信小程序】1.27学习进度
- hdu 1862
- spring中JdbcTemplate
- CSS之元素水平/垂直居中问题
- wiringPi之中断
- Spark 低配版高斯朴素贝叶斯实现
- 安装linux for xilinx交叉编译环境中遇到“Permission denied”
- PHP入门基础知识
- Android 通过Matrix来对图片进行缩放,旋转和平移
- 学习《企业应用架构模式》(Patterns of Enterprise Application Architecture)C01 分层