public class InsertionSort {
public static void main(String[] args) {
int[] arr ={1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0};
int out,in;
//每次循环都将待排序表中的arr[out]插入到正序表中正确的位置
for (out = 1; out < arr.length; out++) {
//取出下一个元素,在已经排序的元素序列中从后向前扫描
int temp = arr[out];
//使用temp从右到左查找,如果temp与比较数相比较小,则将比较数右移一个位置
for (in = out - 1; in >= 0 && arr[in] > temp; in--) {
arr[in + 1] = arr[in];
}
//将arr[out]的值移动的正确的位置
arr[in + 1] = temp;
}
// for(int i=1;i<arr.length;i++){
// for(int j=i;j>0;j--){
// if(arr[j]>=arr[j-1])
// break;
// int temp=arr[j];
// arr[j]=arr[j-1];
// arr[j-1]=temp;
// }
// }
for(int i : arr) {
System.out.print(i + " ");
}
}
}
结果:0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9