思路:
没有什么特别的思路。
就和打牌一样,拿到许多张牌,要把牌插进对应的位置,形成一个有序的序列
代码:
class Solution {
public int[] sortArray(int[] nums) {
for(int i = 1; i < nums.length; i ++){
//提取出待插入值
int temp = nums[i];
//只和i之前的数进行比较,从i-1开始
int j = i-1;
while(j>=0 && temp < nums[j]){
//这一步,其实已经把待插入值的位置吞噬了
//待插入值,要么找到合适的位置插入,要么被插到数组的最前面
nums[j+1] = nums[j];
j--;
}
//两种情况:
//1、当前nums[j],比待插入值小或等于
//2、已经到序列尽头,j=-1,都没有小于或等于temp的
nums[j+1] = temp;
}
return nums;
}
}