插入排序原理:
将数组分成有序区和无序区两个区,,对于无序区元素,通过与有序区元素对比、前移,找到相应位置并插入。
因而在对比、前移的扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。
图片演示:
Java代码:
1 void InsertSort(int[] a) { 2int length = a.length; temp;(i = 0; i < length – 1; i++) {temp = a[i+1];j = i + 1;a[j] = a[j – 1];11j–;12 }}15}总结失败的原因能够让人越来越谨慎。