冒泡排序升序比较&交换计数

时间:2014-03-04 09:29:54

标签: algorithm compare swap bubble-sort

我们正在研究算法,我们还没有开始制作任何程序,所以我们有一个简单的练习。例如:

我必须冒泡排序: 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点后停止

我不确定泡泡排序何时停止。

0 个答案:

没有答案