常见的内部排序算法有: 插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序 等。用一张图概括:
插入排序 (英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 插入排序 在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。
将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。
从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)
2、动图演示
3、JavaScript 代码实现
4、 Python 代码实现
6、Java实现
7 Java的另一个版本
8、C#实现
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31548646/viewspace-2214449/ ,如需转载,请注明出处,否则将追究法律责任。