简单地说,气泡排序是一个过程,在这个过程中,我们将反复迭代一个数组,并将当前值与下一个值进行比较,如果它更大,我们将交换它。

因此,这是该过程的分步说明:
我将从此数组开始并按升序排序:

让我们比较前两个索引:

没什么可改变的。继续...

我们现在可以将7与1交换,并将我们的比较滑动窗口向下移动...

再一次,7可以向下移动:

现在让我们从顶部重新开始该过程...

大功告成!
编码

您会注意到,我的外循环正在递减,其原因是我可以基于完整数组的不断缩小的范围来进行内循环迭代。
换句话说,每次运行外部循环时,我知道数组末尾的一个值不需要排序。
另外,如果我想检查排序数组并提前中断迭代,我可以实现类似这样的东西...


京公网安备 11010802030320号