private static int[] insertionSort(int[] arr)
{
int n = arr.length;
for (int i=1; i=0 && arr[j] > key)
{
arr[j+1] = arr[j];
j = j-1;
}
arr[j+1] = key;
}
return arr;
算是一种改进?
不同于另一种for-for嵌套+if 的写法,这种的方法不同每次都为temp赋值,只需要一个key存一下就好。
这里需要注意的就是arr[j+1] = key,因为while循环出来的j是已经-1了的,就是当前位置再往左一个位置。



