有人可以解释冒泡排序中for循环背后的逻辑吗?

时间:2016-11-25 00:10:52

标签: for-loop bubble-sort

所以我理解冒泡排序的要点,如果它们的顺序不正确,则切换对,但我不能得到的是for循环中限制的逻辑(即{{1和i<array.length;。有人可以解释为什么他们这样写吗???

j<array.length-1

1 个答案:

答案 0 :(得分:0)

乍一看并不是很明显,但你应该注意到:

每次外循环完成时,另一个元素将有&#34;冒泡&#34;通往阵列顶部的方式。

数组的顶部包含最高元素 - 这个顶部增长。从:

开始

3 1 4 1 5 9 2 6 5 4

在一个外环9冒泡到顶部后

1 3 1 4 5 2 6 5 4 9

第二次运行后6已经冒泡到顶部

1 1 3 4 2 5 5 4 6 9

每次外循环运行时,内循环可以提前完成,因为我们知道数组的顶部将被排序。