排序学习总结(一)2013-3-12

1.插入排序

好比打扑克时开始的摸排阶段。

2.选择排序

从待排序的数组中依次选择最小的元素并移动到数组的前端

比如现将最小的移动到第一位,第二小的移动到第二位............

3.冒泡排序(个人认为是选择排序的升级)

从最后一个元素开始俩俩比较直到数组的首位,如果不符合顺序,则俩俩交换

如数组A有n个元素,从A[n]开始,比较A[n]和A[n-1],如果A[n]<A[n-1],则交换它们一直比较到A[1],第二次比较到A[2]............

就好比冒泡一样,泡泡按照大小顺序依次浮到上方

4.合并排序(归并排序)

分治法与递归思想的应用

将带排序的元素分成两份,通常从中间分开,然后将这两份按规则排序,排好后然后再合并。

分成的两份还可以在细分,直到分成最小部分位置,然后依次合并

5.快速排序

分治法与递归思想的应用

它的基本思想是:通过一排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,

然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

首先选择基准元素,通常是第一个,然后从最后一个元素开始向前搜索找到第一个比基准元素小的然后和基准元素进行交换

这样基准元素右边都是比基准元素大的数,然后从前面开始向后搜索到第一个比基准元素大的元素,然后和基准元素交换

这样基准元素左边都是比基准元素小的元素,

重复上面的步骤,直到可以搜索的元素之间的距离小于1

posted @ 2013-03-12 21:03  独孤皇帝  阅读(76)  评论(0)    收藏  举报