类似于像插扑克牌
1 public int[] insertSort(int[] array){ 2 3 //直接插入排序 4 //在排序之前我们需要搞清一个思路,新插入一个数据的时候,排序过后的数组都是 5 //从小到大排列好的,所以我们需要从后往前查找,直到找到比我们要插入的数字还小的 6 //值。这个时候我们需要一个变量j作为标识 7 for(int i = 1;i<array.length;i++){ 8 int temp = array[i]; 9 int j; 10 for(j = i-1;j>=0;j--){ 11 //将大于temp的数向后移动一步 12 if(array[j]>temp){ 13 array[j+1] = array[j];//记录j的值也就是temp要插入的位置 14 }else{ 15 break; 16 } 17 } 18 array[j+1] = temp; 19 } 20 21 22 return array; 23 }