我写了一个希尔排序,然后想插入两个计数器对它的比较次数和移动次数进行记数,不知道该加在哪里?我加后的结果跟预期不一样。请问到底加在哪里啊?谢谢了
public static void shellSort(int[] data, int len)
{
int judgeTime = 0; //比较次数
int moveTime = 0; //移动次数
for (int d = len / 2; d > 0; d /= 2) //增量设置,将数据分组
{
for (int m = 0; m < d; m++) //对每个分组排序
{
for (int i = m + d; i < len; i += d) //每个分组的第i个元素,和前面所有元素进行比较
{
int j = i - d;
while (j >= 0 && data[i] < data[j])
{
data[j + d] = data[j]; //符合条件时,将数据后移一个位置
j -= d;
}
data[j + d] = data[i]; //找到正确的位置,插入
}
}
}
}
请问这2个计数器应该放在哪里啊?再次谢谢了