我只想仔细检查我的计数器在insertionsort方法中的比较是否正确。我想是的,但我只是想确定一下。这是icount ++;走向最底层。
感谢阅读。
public static void insertionsort(int[] arr)
{
int i, j, newValue;
for (i = 1; i < arr.length; i++)
{
newValue = arr[i];
j = i;
while (j > 0 && arr[j - 1] > newValue)
{
icount++;
arr[j] = arr[j - 1];
j--;
}
arr[j] = newValue;
}
}
答案 0 :(得分:0)
如果你想计算数组元素之间的比较次数,那么它几乎是正确的,但是当你找到一个位置(不是在开头)来插入下一个元素时,你会错过这种情况。