摘要:
希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进
阅读全文
posted @ 2016-02-26 16:21
xiao_ma
阅读(174)
推荐(0)
编辑
摘要:
快速排序是对冒泡排序的一种改进。思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小, 然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序。 选择一个基准数,这个数的左边都比她小,右边的都比它大,然后再递
阅读全文
posted @ 2016-02-26 15:07
xiao_ma
阅读(206)
推荐(0)
编辑
摘要:
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列; 首先来练习一下将两个有序的数组,合并成一个有序的数组 void mergeArray(int a[], int n, int b
阅读全文
posted @ 2016-02-26 14:33
xiao_ma
阅读(168)
推荐(0)
编辑
摘要:
插入排序类似于扑克牌摸牌的过程(我的习惯),小的放在前面,如果抓到更小的就再往前面放 但是第一张是不用排的。。。。 数组: 3, 6, 2, 1, 9 ->2,3,6,1,9 ->1,2,3,6,9 #include <iostream> using namespace std; int main(
阅读全文
posted @ 2016-02-26 13:19
xiao_ma
阅读(111)
推荐(0)
编辑
摘要:
选择排序:选择一个最大或者最小的元素放到起始位置,直到排完为止。(不稳定) 如有一组数据:3,6,2,1,9 ->1,6,2,3,9 ->1,2,6,3,9 ->1,2,3,6,9 1 #include <iostream> 2 3 using namespace std; 4 5 int main
阅读全文
posted @ 2016-02-26 12:53
xiao_ma
阅读(115)
推荐(0)
编辑
摘要:
所谓冒泡算法就是把排序想像成水里的水泡,小的在上面,大的在下面 相邻的两个元素比较,如果前面的比后面的大,就交换。 如有一组数据:3,6,2,1,9 ->3,2,1,6,9 ->2,1,3,6,9 ->1,2,3,6,9 int main() { int a[] = {3,6,2,1,9}; for
阅读全文
posted @ 2016-02-26 10:45
xiao_ma
阅读(381)
推荐(0)
编辑