简单地说,气泡排序是一个过程,在这个过程中,我们将反复迭代一个数组,并将当前值与下一个值进行比较,如果它更大,我们将交换它。
因此,这是该过程的分步说明:
我将从此数组开始并按升序排序:
让我们比较前两个索引:
没什么可改变的。继续...
我们现在可以将7与1交换,并将我们的比较滑动窗口向下移动...
再一次,7可以向下移动:
现在让我们从顶部重新开始该过程...
大功告成!
编码
您会注意到,我的外循环正在递减,其原因是我可以基于完整数组的不断缩小的范围来进行内循环迭代。
换句话说,每次运行外部循环时,我知道数组末尾的一个值不需要排序。
另外,如果我想检查排序数组并提前中断迭代,我可以实现类似这样的东西...