1、算法概念。
每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。
2、算法思想。
假設(shè)待排序的記錄存放在數(shù)組R[1..n]中。初始時,R[1]自成1個有序區(qū),無序區(qū)為R[2..n]。從i=2起直至i=n為止,依次將R[i]插入當前的有序區(qū)R[1..i-1]中,生成含n個記錄的有序區(qū)。
1
2
3
4
5
6
7
8
9
10
11
|
public static void insertSort( int [] array) { int len = array.length; for ( int i = 1 ; i < len; i++) { for ( int j = i; j > 0 ; j--) { if (array[j] < array[j - 1 ]) { Sort.swap(array, j, j - 1 ); //交換j和j-1 } else break ; } } } |
插入排序示意圖:
以上所述就是本文給大家分享的全部內(nèi)容了,希望能夠?qū)Υ蠹依斫獠迦肱判蛩惴ㄓ兴鶐椭?/p>