排序算法

1 简单插入排序

假设前面的n个元素已经排好序了,然后要排下一个元素,就依次遍历比较这n个元素和该元素的大小,将该元素放在比它小和比它大的两个元素之间。n^2

2 冒泡排序

依次比较两个相邻的元素,将大的放在后面,一轮之后,最大的元素就冒泡到最后了。n^2

3 快速排序

拿出一个元素,将它和所有的元素比较,比它小的放在它前面,比它大的放在它后面,然后它最终的位置就找到了。对于它前面的元素同样处理,对于它后面的元素也同样处理。nlogn

4 堆排序

最大堆就是说,二叉树上的所有父亲顶点都比它的儿子要大。

把堆顶元素放在最后面,然后从最后面拿一个元素放在堆顶,如果它比儿子大,就把最大的儿子换下来,这样,又是一个最大堆了。nlogn

5 归并排序

5.1 归并两个已经排序好的数组

5.2 用递归实现

原文地址:https://www.cnblogs.com/hustdc/p/6435955.html