2017-07-04 87 views
-2

有人可以向我解释为什么这个问题的答案不是25,102?计算分配运营商

对于以下代码,假设if语句在50%的时间内为真。如果是的话,会发生多少次分配操作? (不要忘了计算i和j的初始化。还记得我++和J ++的任务。)

for (int i = 0; i < 100; i++) { 
    for (int j = 0; j < 100; j++) { 
    if (arr[j] < arr[i]) { 
     temp = arr[i]; 
     arr[i] = arr[j]; 
     arr[j] = temp; 
    } 
    } 
} 

回答

0

我可以看到你是如何得到25102,但我认为你没有计数j环正确 - 它不仅仅是增加一个j=0因为整个循环发生多次。

+0

非常感谢。我没有意识到你必须这样计算。 – HamHat