int comparisons = 0;
for (int i = 1; i < input.length; i++) {
int j = i;
while (j > 0 && comp.compare(input[j - 1], input[j]) > 0) {
if (comp.compare(input[j - 1], input[j]) > 0)
comparisons++;
E temp = input[j - 1];
input[j - 1] = input[j];
input[j] = temp;
j--;
}
comparisons++;
}
我正在尝试计算插入排序中的比较次数。但是,我的比较与预期的JUnit值不正确。
输入: {9,5,6,7,2,8}期望:11但还是13
输入: {“如何”,“关于”,“ dey”,“ da”,“熊”};期望:7但是8
测试输入的期望值是否不正确,或者是否缺少某些边缘情况?
答案 0 :(得分:0)
即使条件为假并且命令:comparisons++
仅在为true时发生;)