我们正在研究算法,我们还没有开始制作任何程序,所以我们有一个简单的练习。例如:
我必须冒泡排序: 4 2 7 16 6
这是一个过程(在这种情况下我们必须从右到左看):
4 2 7 16 6 (it makes 3 swaps and 4 comparisons in this)
2 4 6 7 16 (it makes 0 swaps and 3 comparison in this)
2 4 6 7 16 (the result)
这是我理解的:
4 2 7 16 6 (6 is swapped with 16)
4 2 7 6 16 (6 is swapped with 7)
4 2 6 7 16 (6 is not swapped with 2)
4 2 6 7 16 (2 is swapped with 4)
2 4 6 7 16 (result after 1st iteration)
现在我们有正确排列的数字,我们在开始时进行了 4次比较和3次交换,我们知道2是最小的数字所以我们现在看看4 6 7 16 。但是他们排列得很好,但我们还是要做 3次 比较。
我的问题是:我们是否必须进行另外2次比较,然后进行最后1次比较(这将导致10次比较)以完成冒泡排序?或者在7点后停止
我不确定泡泡排序何时停止。