- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课设报告
目录
一. 目 ?????????????? 2
二.需求分析 ?????????????? 2
程序设计问题描述 ????????????? 2
基本要求 ???????????????? 2
流程图 ???????????????? 2
三. ??????????????? 3
数据结构定义 ??????????????? 4
主要算法设计 ?????????????? 5
函数调用关系图 ?????????????? 8
程序主要流程 ?????????????? 8
四. 分析 ??????????????? 13
五.用 手册 ??????????????? 15
六. 果 ??????????????? 19
七.源代 ( 注 )????????????
21
八.参考文献???????????????? 26
第1页共26页
数据结构课设报告
一.设计题目
多关键字排序
二.需求分析
1. 程序设计问题描述
多关键字的排序有其一定的实用范围。例如 : 在进行高考分数处理时,除了需对总分
进行排序外, 不同的专业对单科分数的要求不同, 因此尚需在总分相同的情况下, 按用户提出的单科分数的次序要求排出考生录取的次序。
基本要求
假设待排序的记录数不超过 10000,表中记录的关键字数不超过 5,各个关键字的范围均为 0 至 100。按用户给定的进行排序的关键字的优先关系,输出排序结果。
(2) 约定按 LSD法进行多关键字的排序。在对各个关键字进行排序时采用两种策略 : 其
一是利用稳定的内部排序法,其二是利用 分配 和 收集 的方法。并综合比较这两种策略。
3)测试数据由随机数生成器产生。
流程图
开始
输出菜单
输入记录数
选择排序方法
输入不是 1 或 2,重新
输入选择排序方法
判断
1 2
内部排序 基数排序
第2页共26页
数据结构课设报告
显示排序结果
输入结束或继续执行
判断输入
非零值
0
继续执行 退出
结束
三.详细设计
本程序是对语文,数学,英语,体育,综合这 5 门成绩按照此顺序进行优先排序。各
科分数为 0~ 100。
由于本实验约定按 LSD进行多关键字的排序。 在对个关键字进行排序时采用两种策略:
其一是利用稳定的内部排序法,其二是利用“分配”和“收集”的方法。所以在一个程序里
实现了这两种排序方法。
第一种排序方法由于要使用稳定的排序方法,故参考书上的几种排序方法后,选用了
冒泡排序和静态链表存储方式, 每一趟排序后,找出最高分 。第二种排序方法利用 “分配”
与“收集”的基数排序算法,用静态链表存储分数,在一趟排序中,将结点分配到相应的链
第3页共26页
数据结构课设报告
队列中去,再按从高到低链接起来。
数据结构设计
1)稳定的内部排序法结构体定义
typedef struct node //定义结构体
{
int key[5]; //数据域
struct node *next; // 指针域
}*Score,Lnode;
基本操作
Score RandData(Score L,int n)
初始条件: L 为创建的静态链表, 代表了一个学生成绩的记录, n 为生成的随机数个数。
操作结果:随机生成 n 个数据并保存到链表 L 中,返回链表头指针。
Score BubbleSort(Score L)
初始条件: L 为创建的静态链表
操作结果:对链表进行冒泡降序排序,返回指针 L 。
void PrintScore(Score L)
初始条件: L 为创建的静态链表。
操作结果:在屏幕上显示链表。
2)“分配”与“收集”的基数排序结构体定义
typedef struct node //定义结构体
{
int key[5]; //数据域
struct node *next; // 指针域
}*Score,Lnode;
基本操作
Score RadixSort(Score L)
初始条件: L 为创建的静态链表,代表了一条学生成绩的记录。
第4页共26页
数据结构课设报告
操作结果:对链表 L 的第 n 个关键字进行基数排序。
void PrintScore(Score L)
初始条件: L 为创建的静态链表。
操作结果:在屏幕上显示链表。
主要算法设计
1)稳定的内部排序
Score BubbleSort(Score L) //对链表进行冒泡降序排序,返回指针 L
{
Score p,q,s,t,N;
int n;
t=(Score)malloc(sizeof(node));
N=(Score)malloc(sizeof(node));
N-next=L-next; //把 N 指向链表 L
您可能关注的文档
最近下载
- 河南省青桐鸣2024-2025学年高二上学期11月期中化学试卷.docx VIP
- 住院费用清单模板.doc VIP
- 大学学术英语视听说教程下册(第2版)Miriam_Espeseth习题答案.pdf
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中联考物理试卷(含答案).pdf VIP
- 颈动脉灌注机制.pptx VIP
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中考试 化学试题(含答案).pdf VIP
- Unit 4 Friends Lesson3 课件 人教精通版英语三年级上册.ppt
- 锅炉原理课件:第七章 锅炉设备的通风计算.ppt VIP
- 生涯发展展示-(第一版).pptx VIP
- 《选品与采购》课件——4.电商采购.pptx VIP
原创力文档


文档评论(0)