《多种排序算法的比较和分析.pdf》由会员分享,可在线阅读,更多相关《多种排序算法的比较和分析.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、排序算法的分析与比较-1-一、设计思想排序是指将一个数据元素的任意序列,按关键字重新排列成一个有序的序列。当关键字为记录中的主关键字时,排序结构是唯一的,否则结果不唯一。如果待排序记录中存在多条关键字相同的记录,经过排序后,这些记录之间的相对次序不变,则称这种排序算法为稳定的;反之,称为不稳定的。排序算法的评价依据算法的时间复杂度,执行算法所需的附加空间以及算法本身的复杂性来判定的。选择排序的基本思想:首先在所有记录中选出关键字最小的记录,把它与第1 个记录交换,然后在其余的记录中再选出关键字次最小的记录与第2 个记录交换,以次类推 ,直到所有记录排序完成。简单选择排序过程中的记录比较次数与记
2、录序列的初始状态无关,无论记录的初始序列如何,所需进行的关键字比较次数均为:(n-1+n-2+1)=O(n2)当记录序列的初始状态为“有序”状态时,所需进行的记录移动次数最少,为 0 次;当记录序列的初始状态为“逆序”状态时,所需进行的记录移动次数最多,为3(n-1)次。因此,简单选择排序总的时间复杂度为O(n2)插入排序的基本思想:一趟直接插入排序的基本操作是:将一个记录插入到一个有序的子序列中,从而使有序子序列的长度增1。一般情况下,第i 趟直接插入排序的操作为:在含有 i-1 个记录的有序子序列r1.i-1 中插入一个记录ri,变成含有i 个记录的有序子序列r1.i,整个排序过程需插入n
3、-1 趟插入,即i 从 2 到 n。直接插入排序的算法简洁,容易实现。从时间来看,排序的基本操作为:比较两个记录的大小和移动记录。其中:1、最小比较次数:Cmin=n-1=O(n)2、最大比较次数:Cmax=(2+3+n)=(n+2)(n-1)/2=O(n2)3、最小移动次数:Mmin=0 4、最大移动次数:Mmax=(2+1+3+1+n+1)=O(n2)从空间看,直接插入排序算法只需一个记录的辅助空间。直接插入排序算法当记录的数量n很小时,是一种很好的排序方法。但是通常待排序的记录数量n 很大时,则不宜采用直接插入排序。在直接插入排序的基础上,从减少比较 和移动 着两种操作的次数着眼,可得到
4、一些改进的算法,如折半插入排序,可以减少关键字之间的比较次数,但移动次数不变。2-路插入排序可以减少比较和移动次数。另外表插入排序可以做到不移动记录。希尔排序的基本思想:希尔排序方法是一种“逐渐缩小插入间隔”的插入排序方法,在时间效率上较直接插入排序有较大的改进。从对直接插入排序的分析可知,其时间复杂度为O(n2),但是当待排序记录处于基本有序 状态或当n 值较小时,直接插入排序的效率可大大提高。希尔排序方法正是基于这两点考虑对直接插入排序加以改进而提出的一种插入排序算法。Shell 排序的基本的做法是先确定一个小于n 的整数 gap1 作为第一个增量,把记录序列分为 gap1 个组,所有距离
5、为gap1倍数的记录放在同一个组中,在各组内进行直接插入排序;然后,取第二个增量gap2(gap2 gap1),重复上述分组和排序,直至所取的增量gapt=1(gaptgapt-1 gap2gap1),即所有记录处在同一组中进行直接插入排序为止。当n时,可减少至n(log2n)2。快速排序的基本思想:首先选取一个记录作为支点(不失一般性,可选第一个记录),依它的关键字为基准重排其余记录,将所有关键字比它大的记录都排在它之后,而将所有关键字比它小的记录都排在它之前,由此完成一趟快速排序。之后,分别对由一趟排序分割而成的两个子序列进行快速排序。最坏情况:O(n*n);最好情况:O(nlog2n)。
6、快速排序的平均时间复杂度是O(knlogn),它是目前基于比较的内部排序方法中速度最快的一种,快速排序也因此而得名。排序算法的分析与比较-2-归并排序的基本思想:归并排序是利用“归并”技术来进行排序,所谓归并是指将两个有序的序列合并形成一个新的有序序列。将待排序记录序列r1,r2,rn 看成为 n个长度为1 的有序子序列,把这些子序列两两进行归并,便得到【n/2】个长度为2 的有序子序列,然后在两两归并,如此重复,直到最后得到一个长度为n 的有序记录序列为止,这种方法成为归并方法。对n 个记录的序列进行归并排序时,必须进行【log2n】趟归并,而每趟归并所需的时间是O(n),所以二路归并排序算
7、法时间复杂度为O(nlog2n)。与快速排序和堆排序相比,归并排序的最大优点是,它是一种稳定的排序方法,但在一般情况下,很少利用归并排序进行内部排序。二、算法流程图图 1:快速排序算法流程图文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J
8、2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文
9、档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS
10、5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G
11、6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN
12、4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7
13、N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 Z
14、A10A8J2X9R5排序算法的分析与比较-3-图 2:选择排序算法流程图图 3:插入排序算法流程图文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9
15、R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码
16、:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8
17、Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5
18、 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R1
19、0W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A
20、5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5排序算法的分析与比较-4-图 4:希尔排序算法流程图文档编码:CS5
21、K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6
22、Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4
23、R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N
24、3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA
25、10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2
26、X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档
27、编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5排序算法的分析与比较-5-图 5:归并排序算法流程图图 1 表示快速排序算法流程图。首先选取一个记录作为支点(不失一般性,可选第一个记录),依它的关键字为基准重排其余记录,将所有关键字
28、比它大的记录都排在它之后,而将所有关键字比它小的记录都排在它之前,由此完成一趟快速排序。图 2 表示选择排序流程图。首先在所有记录中选出关键字最小的记录,把它与第1 个记录交换,然后在其余的记录中再选出关键字次最小的记录与第2 个记录交换,以次类推,直到所有记录排序完成。图 3 表示插入排序流程图。一趟直接插入排序的基本操作是:将一个记录插入到一个有序的子序列中,从而使有序子序列的长度增1。图 4 表示希尔排序的流程图。希尔排序方法是一种“逐渐缩小插入间隔”的插入排序方法,在时间效率上较直接插入排序有较大的改进。图5表示归并排序的流程图。图 5 是归并排序的流程图。归并排序是利用“归并”技术来
29、进行排序,所谓归并是指将两个有序的序列合并形成一个新的有序序列。文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5
30、 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R1
31、0W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A
32、5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10
33、A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9
34、R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码
35、:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5排序算法的分析与比较-6-三、源代码#include#include#define length 100
36、 int Mtimes=0;int Ctimes=0;void printArray(int array)/*打印数组函数*/int i;for(i=0;ilength;i+)/*对要打印的数组进行遍历*/printf(%d,arrayi);/*打印待排序数组*/printf(n);/*选择排序*/selectsort(int array)int blength=0;/*定义新数组*/int i,j,temp,m=0,n,x;for(i=0;ilength;i+)/*扫描待排序数组*/temp=arrayi;/*将i 赋予 temp*/n=i;for(j=0;jlength;j+)Ctimes
37、+;if(arrayj temp)/*将数组的值赋予temp*/temp=arrayj;Mtimes+;/*移动次数+1*/n=j;bm=temp;m+;arrayn=999;/*设置一个无限大的值999*/*直接插入排序*/void insertsort(int array)/*插入排序函数*/int i,j,m,temp,n;文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5
38、K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6
39、Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4
40、R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N
41、3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA
42、10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2
43、X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档
44、编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5排序算法的分析与比较-7-for(i=1;i=0;j-)Ctimes+;/*比较次数自加*/if(arrayi j+1;m-)arraym=arraym-1;Mtimes+;arraym=temp;/*将arrayi插入*/*printArray(array);调用打印函数打印数组*/printf(Mtimes=%d,Mtimes);printf(Ctimes=%d,Ctimes);printf(n);/*希尔排序代码*/void
45、shellsort(int array)int gaps=1,5,13,43,113,297,815,1989;/*定义步长*/int i,j;int k;int gap;int temp;for(k=0;gapsk=0)gap=gapsk;for(i=gap;i=gap&arrayj-gap temp)Mtimes+;/*移动次数加 1*/arrayj=arrayj-gap;j=j-gap;arrayj=temp;/*将j 赋给 temp*/printf(Mtimes=%d,Mtimes);printf(Ctimes=%d,Ctimes);printf(n);void merge(int a
46、rray,int top,int middle,int bottom)/*建立归并排序函数*/int tempa100;/*声明一个临时数组*/int left=top;int right=middle+1;int tempIndex=0;int begin=0;int end=0;int i=0,j;while(left=middle&right=bottom)/*当数组不为空*/Mtimes+;Ctimes+;if(arrayleft=arrayright)/*若左边数组元素小于右边元素*/tempatempIndex=arrayleft;/*将左边的元素放入临时数组*/left+;/*左
47、边索引加 1*/else/*若左边数组元素大于右边元素*/tempatempIndex=arrayright;/*将右边的元素放入临时数组*/right+;/*左边索引加 1*/tempIndex+;/*临时索引加 1*/if(left=middle)/*若左边的元素剩下*/begin=left;end=middle;文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6
48、Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4
49、R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N
50、3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA10A8J2X9R5文档编码:CS5K8Q7G6Z5 HN4R10W7N3A5 ZA