排序算法
不变不中
多想、多做、多总结,别怕吃亏。
展开
-
排序概念
排序概念排序就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:输入:n 个记录 R1,R2,…,Rn,其相应的关键字分别为 K1,K2,…,Kn。输出:Ril,Ri2,…,Rin,使得 Ki1≤Ki2≤…≤Kin。(或 Ki1≥Ki2≥…≥Kin)。排序算法的依据–关键字,关键字可以是数字类型,也可以是字符类型。排序算法的稳定性当待排序记录的关键字均不相同时,排序结果是转载 2016-08-30 23:14:11 · 471 阅读 · 0 评论 -
直接插入排序
算法思想把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。设无序数组为a[0…n-1]。1.初始时,a[0]自成1个有序区,无序区为a[1..n-1]。2.令i=1,将a[i]插入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。3.i++并重复第二步直到i==n-1,排序完成。一趟直接插入排序方法具体做法:将待插入转载 2016-08-30 23:47:40 · 359 阅读 · 0 评论 -
直接选择排序算法
直接选择排序算法思想无序数组a[0…n-1],第一次从a[0]~a[n-1]中选取最小值,与a[0]交换,第二次从a[1]~a[n-1]中选取最小值,与a[1]交换,….,第i次从a[i-1]~a[n-1]中选取最小值,与a[i-1]交换,…..,第n-1次从a[n-2]~a[n-1]中选取最小值,与a[n-2]交换,总共通过n-1次,得到一个按关键字从小到大排列的有序序列· 直接选择排序算法过程如转载 2016-08-31 11:16:27 · 1558 阅读 · 0 评论 -
希尔排序算法思想
希尔排序算法思想把记录按下标的一定增量分组,对每组使用 直接插入排序算法 排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序算法过程:先取一个正整数gap例如数组a[49, 38, 65, 97, 26, 13, 27, 49, 55, 4]第1次 步长 gap = 10 / 2 = 5分成了五组(49, 13) (38, 27) (65,转载 2016-08-31 21:23:27 · 1306 阅读 · 0 评论 -
冒泡排序算法
冒泡排序算法思想两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位。冒泡排序算法的运作过程:(从小到大排序)设数组a[0..n-1]长度为n,1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到n-1个数据进行一次遍历后转载 2016-08-31 08:39:56 · 433 阅读 · 0 评论