伪码:
INSERTION-SORT(A)
for j ← 2 to length(A)
do key ← A[j]
i ← j - 1
while i > 0 and A[i] > key
do A[i + 1] ← A[i]
i ← i - 1
A[i + 1] ← key
Java 实现:
public void insertionSort(int[] a)
{
int len = a.length;
for (int j = 1; j < len; j++)
{
int key = a[j];
int i = j - 1;
while (i >= 0 && a[i] > key)
{
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
}