欢迎来到天天文库
浏览记录
ID:14900548
大小:55.47 KB
页数:13页
时间:2018-07-30
《数据结构大作业报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构课程设计课题名称专业名称学生姓名12学号+电话指导教师评分细则12目录12评分细则2一、课题描述4二、需求分析42.142.2-------------------------------------------------------------------------------------------------------------------42.3-------------------------------------------------------------------------------------------------------------
2、-------4三、概要设计43.1结构分析43.2函数43.2.1malloc()43.2.2getchar()53.2.3list_create()53.2.4list_disp()53.2.5list_sort()5四、详细设计54.1课题分析54.1.1选择54.1.2冒泡54.1.3堆64.1.4快速64.1.5基数--------------------------------------------------------------------------------------------------64.1.6希尔64.1.7归并-----------------
3、---------------------------------------------------------------------------------64.2课题实现7五、测试数据及结果9六、调试分析及总结1012一、课题描述 将随机多个整数号数按顺序输出,即编写一个将输入数据从小到大输出的程序。二、需求分析本程序用C编写,完成单链表的生成。2.1输入的形式和输入值的范围:输入一个数组,要求数组元素为n位整数。2.2输出的形式:输出一个按要求位数的数组,要求从小到大排列。2.3程序所能达到的功能:完成单链表的生成、顺序表的输出操作。三、概要设计3.1数据逻辑结构、存储结
4、构分析。每两个相邻的数据进行比较,满足某一种条件就交换(大于或者小于),否则不交换,如n个数据比较(n-1)轮排序成功。本程序借助指针类型来实现链式存储结构。3.2程序包含的函数:3.2.1malloc()12malloc向系统申请分配指定size个字节的内存空间。返回类型是void*类型。void*表示未确定类型的指针。分配长度为num_bytes字节的内存块,如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。3.2.2.getchar()getchar有一个int型的返回值.当程序调用
5、getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.3.2.3list_create()3.2.4list_disp()3.2.5list_sort()四、详细设计4.1课题分析由于本次课题要求输出给定位数的有序数组,所以有一下几种方法可
6、选择:4.1.1选择排序每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。不稳定的排序方法。4.1.2冒泡排序a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。12b.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。c.针对所有的元素重复以上的步骤,除了最后一个。d.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。4.1.3堆排序堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快
7、速定位指定索引的元素。4.1.4快速排序通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。是对冒泡排序法的一种改进。4.1.5基数排序将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。4
此文档下载收益归作者所有