数据结构课程设计报告
设计题目:
学生姓名:
系 别:
专 业:
班 级:
学 号:
指导教师:
2010年版
一、设计题目……………………………………………………4
二、运行环境(软、硬件环境)………………………………4
三、算法设计的思想……………………………………………4
3.1简单选择排序………………………………………………4
3.2直接插入排序……………………………………………….4
3.3希尔排序……………………………………………………4
3.4冒泡排序……………………………………………………4
3.5快速排序……………………………………………………4
四、算法的流程图……………………………………………….5
4.1主函数的算法流程图………………………………………...5.
4.2简单选择排序的算法流程图………………………………….6
4.3直接插入排序的算法流程图………………………………….7
4.4希尔排序的算法流程图………………………………………8
4.5冒泡排序的算法流程图………………………………………9
4.6快速排序的算法流程图(1)………………………………..10
4.7快速排序的算法流程图(2)………………………………..11
五、算法设计分析………………………………………………11
5.1简单选择排序………………………………………………11
5.2直接插入排序……………………………………………….12
5.3希尔排序……………………………………………………12
5.4冒泡排序……………………………………………………13
5.5快速排序……………………………………………………13
六、源代码………………………………………………………14
七、运行结果分析………………………………………………23
八、收获及体会…………………………………………………26
一、
设计题目
设计题目
各种排序
二、运行环境(软、硬件环境)
软件环境: 操作系统的名称windows、版本号XP;
程序开发的环境: Microsoft Visual C++ 6.0
硬件环境:内存:512M,硬盘:80G
三、算法设计的思想
3.1简单选择排序
<1> 基本思想
每一趟在n-i+1(i=1,2,…,n-1)个记录中选取关键字最小的记录作为有序序列的第i个关键字。
3.2插入排序
<1> 基本思想
插入排序的思想就是读一个,排一个,将第1个数放入数组的第1个元素中,以后读入的数与已存入数组的数进行比较,确定它在从大到小的排列中应处的位置.将该位置以及以后的元素向后推移一个位置,将读入的新数填入空出的位置中.
3.3希尔排序
<1> 基本思想
希尔排序法是1959年由D.L.Shell提出来的,又称减少增量的排序。下表是以八个元素排序示范的例子.在该例中,开始时相隔4个成分,分别按组进行排序,这时每组2个成分,共4组; 然后相隔2个成分,在按组排序......最后,对所有相邻成分进行排序.
3.4冒泡排序
<1> 基本思想
依次比较相邻的两个数,把大的放前面,小的放后面.即首先比较第1个数和第2个数,大数放前,小数放后.然后比较第2个数和第3个数......直到比较最后两个数.第一趟结束,最小的一定沉到最后.重复上过程,仍从第1个数开始,到最后第2个数.然后...... 由于在排序过程中总是大数往前,小数往后,相当气泡上升,所以叫冒泡排序.
3.5快速排序
<1> 基本思想
快速排序的基本思想是基于分治策略的。对于输入的子序列],如果规模足够小则直接进行排序,否则分三步处理:
分解(Divide):将输入的序列]划分成两个非空子序列L[p..q]和L[],使L[p..q]中任一元素的值不大于L[]中任一元素的值。
递归求解(Conquer):通过递归调用快速排序算法分别对L[p..q]和L[]进行排序。
合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在L[p..q]和L[]都排好序后不需要执行任何计算]就已排好序。
四、算法的流程图
4.1主函数的算法流程图
4.2简单选择排序的算法流程图
4.3直接插入排序的算法流程图
4.4希尔排序的算法流程图
4.5冒泡排序的算法流程图
安卓课程设计源代码4.6快速排序的算法流程图(1)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论