- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据结构课程设计
论文题目:基于线性表下的查找与排序
姓名:赖德发
学院:理学院
专业:信息与计算科学
班级:1123202
学号:201120320202
2014年1月17日
1
一、实验环境
(1)硬件:学生每人一台计算机。
(2)软件:Windows操作系统,VisualC++6.0。
二、实验内容
基于线性表下的查找与排序。
三、实验原理
1.基于线性表的查找法概述
集合结构是数据对象之间关系松散的一种数据结构,对其进行查找是根据给
定的关键字,在特定的列表中确定一个其关键字与给定值相同的数据元素,并返
回该数据元素在列表中的位置。查找的方法分为比较式查找法和计算式查找法,
其中比较式查找法可分为基于线性表的查找法和基于树的查找法;而计算式查找
法也称为Hash(哈希)查找法。基于线性表的查找法是将集合的数据对象组织成
为线性表形式进行查找,即用给定的关键字与线性表中各元素的关键字逐个比
较,直到成功或失败。线性表的存储结构通常是顺序存储结构,也可使用链式存
储结构。
查找时可在表的一端设置一个“监视哨”,存放要查找元素的关键字,从表
的另一端开始查找,若在“监视哨”找到要查找元素的关键字,返回失败信息,
否则返回关键字的位序。基于线性表的查找技术有着非常广泛的应用。
2.基于线性表的排序法概述
排序是计算机程序设计中的一种重要操作,在数值计算或数据处理过程中,
都会直接或间接用到数据的排序问题。排序的功能是将一个数据元素(或称记录)
的无序序列,按数据元素的关键字大小排列成一个递增或递减有序的记录序列。
由于待排序的记录数量不同,使得排序过程中涉及的存储器也不同,因此可
将排序方法分为内排序和外排序。内排序包括插入、交换、选择和归并等几类排
序。
2.1基于插入类的排序概述
插入类排序的基本思想是假定记录序列中前面的一部分记录已经有序,把后
面的一个记录插入已排序的有序子序列中去,使得插入这个记录后得到的依然是
有序序列,从而逐步扩大有序的子序列的长度,直到所有记录都有序为止。直接
插入排序是采用顺序查找法来确定记录的插入位置。折半插入排序是采用折半查
找法来确定记录的插入位置。希尔排序是对待排序记录序列先做宏观直接插入排
序调整,再做微观直接插入排序调整,故称缩小增量排序排序。
2
2.2基于交换类的排序概述
交换排序的基本思想是两两比较待排序记录的关键字,当两个记录的次序相
反时进行交换,直到没有反序的记录为止。基于交换类的排序有冒泡排序和快速
排序。
冒泡排序是比较相邻的元素。如果第一个比第二个大,就交换他们两个。对
每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最
后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排
序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数
据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可
以递归进行,以此达到整个数据变成有序序列。
2.3基于选择类的排序概述
选择排序的基本思想是从每一趟待排序数据中选取一个关键字最小的记录,
并置于适当的位置上。即第一趟从n个记录中选取关键字最小的记录,第二趟从
剩下的n-1个记录中选取关键字最小的记录,直到整个序列的记录选完,由选取
记录的顺序便可得到关键字有序的序列。堆排序的基本思想是通过类似于淘汰赛
的想法,让序列中的关键字两两相比,不断淘汰较大者,最终选出关键字最小的
记录。
四、系统测试
4.1基于线性表的查找源代码
#includestdio.h
#includeprocess.h
#defineLIST_SIZE100
//定义顺序表的最大长度
typedefintkeyType;
//定义关键字类型为整形
typedefstruct
{
keyType
您可能关注的文档
最近下载
- 2024年秋人教版七年级英语上册全册课件:Unit 5.pptx VIP
- HIOKI日置 RM3545电阻计使用说明书.pdf
- 洛阳市20 15届高三一练理科a卷成绩yiqi.xls
- 2024年秋人教版七年级英语上册全册课件:Unit 4.pptx VIP
- 2024全国中考语文试题分类汇编:记叙文阅读.pdf VIP
- 2024新人教版初中七年级数学上册第六章几何图形初步大单元整体教学设计.docx
- 【美术课件】《水果皇后—山竹》(1).pptx
- Unit 1 You and Me (第1课时) Section A 1a-1d 课件 人教版(2024)七年级上册.pptx
- Unit 1 You and Me Section A How do you greet people 课件 人教版(2024)英语七年级上册.ppt
- 机械结算单模板.docx
文档评论(0)