每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中
public void chooseSort(int a[]){
for(int i=1;i<a.length;i++){
int key=a[i];
int j=i-1;
while(j>=0&&a[j]>key){
a[j+1]=a[j];
j--;
}
a[j+1]=key;
}
}
第1次排序:
2 6 48 3 9 7 15 6
第2次排序:
2 4 68 3 9 7 15 6
第3次排序:
2 4 68 3 9 7 15 6
第4次排序:
2 3 46 8 9 7 15 6
第5次排序:
2 3 46 8 9 7 15 6
第6次排序:
2 3 46 7 8 9 15 6
第7次排序:
1 2 34 6 7 8 95 6
第8次排序:
1 2 34 5 6 7 89 6
第9次排序:
1 2 34 5 6 6 78 9
第10次排序:
1 2 34 5 6 6 78 9