将数组的第一个元素看作已经排好序的,然后插入数组的第二个元素,如果第二个元素小于第一个元素就放在第一个元素的前面,否则放在后面;将第三个元素插入前两个已经排好序的元素中,采用递归的思想,如果第三个小于第二个元素,就将第三个元素往前移动一位,如果也大于第一个元素就在向前移动一位;.....
public static void insertSort(int [] a){
for(int i = 1; i<a.length;i++){
int temp = a[i];
int j = i-1;
while(j>=0&&a[j]>temp){
a[j+1] = a[j];
j = j-1;
}
a[j+1] = temp;
}
}
网友评论