思想:每次处理一个元素。从当前处理元素的位置往前找,比较各个值,找到当前元素适合的位置进行插入,其他元素往后面移一位。
class Solution {
public int[] sortArray(int[] nums) {
insertSort(nums);
return nums;
}
private void insertSort(int[] nums) {
int n = nums.length;
if (n<=1){
return;
}
for (int i=0; i<n; i++) {
int j = i;
while (j>0 && nums[j-1] > nums[j]) {
swap(nums, j-1, j);
j --;
}
}
}
private void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}