在一组已经有序的数插入一个数,如何使得插入的数列依然有序?
毫无疑问是找到插入点,将插入的数放在插入点上,在它之后的数,下标都后移一位
public class Insert {
public static void InsertSort(int arr[]){
int i,j,temp;
for(i=1;i<arr.length;i++){
temp=arr[i];
for(j=i;j>0;j--){
if(arr[j-1]>temp){
arr[j]=arr[j-1];
}
else
break;
}
arr[j]=temp;
}
}
public static void main(String[] args) {
int array[]=new int[]{2,1,3,5,19,15,13,43,31};
InsertSort(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}