把数组分为两部分,一部分为有序列表,一部分为无序列表,第一个元素作为有序列表的元素,剩余部分作为无序列表的元素,每次取无序列表的第一个元素有序插入到有序列表中,最后,有序列表就是排好序的数组。
例:
public int[] sort(int[] numbers) { int temp; int j; for (int i = 1; i < numbers.length; i++) { temp = numbers[i]; for (j = i; j > 0 && temp < numbers[j - 1]; j--) { numbers[j] = numbers[j - 1]; } numbers[j] = temp; } return numbers; }