- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
数据结构课程设计
课题名称
专业名称
学生姓名
学号+电话
指导教师
评分细则
目 录
评分细则 2
一、课题描述 4
二、需求分析 4
2.1 4
2.2 - 4
2.3 4
三、概要设计 4
3.1 结构分析 4
3.2 函数 4
3. 2.1 malloc() 4
3.2.2 getchar() 5
3.2.3 list_create() 5
3.2.4 list_disp() 5
3.2.5 list_sort() 5
四、详细设计 5
4.1课题分析 5
4. 1.1选择 5
4.1.2 冒泡 5
4.1.3 堆 6
4.1.4 快速 6
4.1.5 基数6
4.1.6 希尔 6
4.1.7 归并6
4.2课题实现 7
五、测试数据及结果 9
六、调试分析及总结 10
一、课题描述
将随机多个整数号数按顺序输出,即编写一个将输入数据从小到大输出的程序。
二、需求分析
本程序用C编写,完成单链表的生成。
2.1输入的形式和输入值的范围:
输入一个数组,要求数组元素为n位整数。
2.2 输出的形式:
输出一个按要求位数的数组,要求从小到大排列。
2.3 程序所能达到的功能:
完成单链表的生成、顺序表的输出操作。
三、概要设计
3.1数据逻辑结构、存储结构分析。
每两个相邻的数据进行比较,满足某一种条件就交换(大于或者小于),否则不交换,如n个数据比较(n-1)轮排序成功。
本程序借助指针类型来实现链式存储结构。
3.2程序包含的函数:
3.2.1malloc()
malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。
分配长度为num_bytes字节的内存块,如果分配成功则返回指向被分配内存的 \t /_blank 指针(此存储区中的初始值不确定),否则返回空指针 \t /_blank NULL。当内存不再使用时,应使用free()函数将内存块释放。
3.2.2.getchar()
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的 \t /_blank ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.
3.2.3 list_create()
3.2.4 list_disp()
3.2.5 list_sort()
详细设计
4.1课题分析
由于本次课题要求输出给定位数的有序数组,所以有一下几种方法可选择:
4.1.1选择排序
每一次从待排序的 \t /_blank 数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。不稳定的排序方法。
4.1.2冒泡排序
a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
b.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
c.针对所有的元素重复以上的步骤,除了最后一个。
d.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
4.1.3堆排序
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。
4.1.4快速排序
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。是对冒泡排序法的一种改进。
4.1.5基数排序
将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直
您可能关注的文档
最近下载
- 企业职务犯罪预防讲座PPT文档共26页.ppt
- 机井工程技术标准 GB_T50625-2023.docx VIP
- 高效课堂中合作学习的策略与效果教学研究课题报告.docx
- 2024版特种设备重大事故隐患判定准则PPT.pptx
- 初中语文学科中分层作业设计的实践与总结教学研究课题报告.docx
- 多人投资合作协议书(通用版).pdf VIP
- 北京市海淀区2024年七年级下学期数学期中试卷2套(附答案).docx VIP
- 2024年辽宁省抚顺市新抚区中考模拟(四)语文试题(含答案).pdf VIP
- 2025年自考《马克思主义基本原理概论》考前押题密卷及答案解析.pdf VIP
- 危重孕产妇抢救演练理论考核试题(含答案).pdf VIP
文档评论(0)