- /**
- * 插入排序
- */
- public voidInsertSort(int[] arr)
- {
- int i, j;
- intn = arr.length;
- int target;
- /**
- * 假定第一个元素已经在正常排序,这时只需要插入排序n-1次
- */
- for(i = 1; i < n; i++)
- {
- j = i;
- /**
- * 把当前需要插入排序的值,赋值给targer
- */
- target = arr[i];
- /**
- * 如果targer小于他前面的元素,则前面的元素后移,直到targer不小于前面的元素时,
- * 并记录这时的j
- */
- while(j > 0 && target < arr[j - 1])
- {
- arr[j] = arr[j - 1];
- j--;
- }
- /**
- * targer赋值于a[j]
- */
- arr[j] = target;
- }
- }
来源: http://www.bubuko.com/infodetail-1979635.html