算法概述
冒泡排序重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换为止,也就是说该元素列已经排序完成为止。
图解核心原理
首先,我们将天平放在序列的右端,并比较天平左右的数字。在这种情况下,我们来比较7和6。
比较后如果右边的数字较小,则被交换。
比较完成后,逐一移动天平继续比较。这次6大于4,所以数字不交换。
将天平向左移动一个位置,继续比较。这次4小于8,交换4和8。
将天平向左移动一个位置,继续比较。这次4大于2,所以数字不交换。
将天平向左移动一个位置,继续比较。这次2大于1,所以数字不交换。
将天平向左移动一个位置,继续比较。这次1小于3,交换1和3。
将天平向左移动一个位置,继续比较。这次1小于9,交换1和9。
将天平向左移动一个位置,继续比较。这次1小于5,交换1和5。
此时天平到达序列最左端。
在一系列操作中,序列中最小的数字已经移动到最左端。保持该数字位置不再改变,天平返回右端。重复相同的操作,直到所有数字都被排序…
原创声明
文章作者:Zam9036
部分资料来自:http://algorithm.wiki
文章链接:https://zam9036.gitee.io/2020/01/10/21-Graphical-data-structure—bubble-sort
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自Zam9036的博客!