插入排序
事件复杂度:由于嵌套的循环每次都是N次,所以为O(N²);
int[] a = {61,12,95,36,52,41,27};
public void insertSort(int[] a){
int j;
for(int i = 1; i < a.length; i++){
int tmp = a[i];
for(j = i; j > 0 && tmp < a[j-1] ; j--) {
a[j] = a[j - 1];
print("j >>",a);
}
a[j] = tmp;
print("i >>",a);
}
}
开始 >>61 12 95 36 52 41 27
j >>61 61 95 36 52 41 27
i >>12 61 95 36 52 41 27
i >>12 61 95 36 52 41 27
j >>12 61 95 95 52 41 27
j >>12 61 61 95 52 41 27
i >>12 36 61 95 52 41 27
j >>12 36 61 95 95 41 27
j >>12 36 61 61 95 41 27
i >>12 36 52 61 95 41 27
j >>12 36 52 61 95 95 27
j >>12 36 52 61 61 95 27
j >>12 36 52 52 61 95 27
i >>12 36 41 52 61 95 27
j >>12 36 41 52 61 95 95
j >>12 36 41 52 61 61 95
j >>12 36 41 52 52 61 95
j >>12 36 41 41 52 61 95
j >>12 36 36 41 52 61 95
i >>12 27 36 41 52 61 95
完成 >>12 27 36 41 52 61 95