直接插入排序法:将一个记录插入到已经排好序的有序表中,从而得到一个新的记录数据的有序表。
空间复杂度:需要一个记录的辅助空间;
时间复杂度:O(n^2)
代码片段:
public class StraightInsertSort { public static void main(String[] args) { int[] arr = {8,1,10,11,6}; System.out.println(Arrays.toString(arr)); siSort(arr); } //直接插入法 public static void siSort(int[] arr){ int i,j,temp; for(i = 1 ; i < arr.length ; i++){ if ( arr[i] < arr[i-1] ) { temp = arr[i]; for(j = i-1 ; j>=0 && arr[j] > temp ; j--){ arr[j+1] = arr[j]; arr[j] = temp; } } System.out.println(Arrays.toString(arr)); } }
具体实现过程: