1 简单插入排序
假设前面的n个元素已经排好序了,然后要排下一个元素,就依次遍历比较这n个元素和该元素的大小,将该元素放在比它小和比它大的两个元素之间。n^2
2 冒泡排序
依次比较两个相邻的元素,将大的放在后面,一轮之后,最大的元素就冒泡到最后了。n^2
3 快速排序
拿出一个元素,将它和所有的元素比较,比它小的放在它前面,比它大的放在它后面,然后它最终的位置就找到了。对于它前面的元素同样处理,对于它后面的元素也同样处理。nlogn
4 堆排序
最大堆就是说,二叉树上的所有父亲顶点都比它的儿子要大。
把堆顶元素放在最后面,然后从最后面拿一个元素放在堆顶,如果它比儿子大,就把最大的儿子换下来,这样,又是一个最大堆了。nlogn
5 归并排序
5.1 归并两个已经排序好的数组
5.2 用递归实现