《实验03 基数排序.docx》由会员分享,可在线阅读,更多相关《实验03 基数排序.docx(4页珍藏版)》请在优知文库上搜索。
1、实验三基数排序成绩排序题目描述:用一维数组存储学号和成绩,然后,按成绩排序输出。输入:输入第一行包括一个整数N(K=Nv=100),代表学生的个数。接下来的N行每行包括两个整数P和q,分别代表每个学生的学号和成绩。输出:按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。样例输入:3190287392样例输出:287190392本题双向循环链表的好处在于很快地找到链表末尾,除此之外并未发挥双向循环链表的其它有点,因此可以考虑带尾指针的单链表(留作思考题)实验报告:1、掌握基数排序算法的特点,测试并验证。2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序
2、清单、调试情况、设计技巧、心得体会。附1:运行结果截图3C:ProgramFilesMicrosoftVisualStudioMyProjectslllDebuglll.exe3190287392287190392附2:输入不说明有多少个测试用例,以EOF为结束标志。wh11e(scanf(,%d,fcn)!=EOF)附3:程序框架/学生结构定义/链表结点定义(注意:结点数据元素类型为上述定义的学生结构)个链表指针定义(L,L0-L9),定义为全局变量好处理!/链表初始化函数:即建立一个带头结点的空表/链表操作的其它函数:1、插入元素到链表2、删除首元素并返回删除的首元素3、把链表附加到另一链表末尾并清空原链表4、输出函数/主函数:相关变量定义;调用初始化函数初始化11个链表指针;(调用链表初始化函数)while(scanf(,%dn)!=EOF)for(i=0;in;i+)输入n个学生的数据(结构)并插入到链表L中;(调用函数1)找出这n个数的最大位数k;)for(i=0;ik;i+)依次取链表L中元素插入相应链表(L0L9)中;(调用函数2、1)for(j=0;jnext=NULL;list-head=list-last=head_node;