算法概述

冒泡排序重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换为止,也就是说该元素列已经排序完成为止。

图解核心原理

图解数据结构—冒泡排序|Zam9036博客

首先,我们将天平放在序列的右端,并比较天平左右的数字。在这种情况下,我们来比较7和6。

图解数据结构—冒泡排序|Zam9036博客

比较后如果右边的数字较小,则被交换。

图解数据结构—冒泡排序|Zam9036博客

比较完成后,逐一移动天平继续比较。这次6大于4,所以数字不交换。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次4小于8,交换4和8。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次4大于2,所以数字不交换。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次2大于1,所以数字不交换。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次1小于3,交换1和3。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次1小于9,交换1和9。

图解数据结构—冒泡排序|Zam9036博客

将天平向左移动一个位置,继续比较。这次1小于5,交换1和5。

图解数据结构—冒泡排序|Zam9036博客

此时天平到达序列最左端。

图解数据结构—冒泡排序|Zam9036博客

在一系列操作中,序列中最小的数字已经移动到最左端。保持该数字位置不再改变,天平返回右端。重复相同的操作,直到所有数字都被排序…

原创声明

文章作者:Zam9036

部分资料来自:http://algorithm.wiki

文章链接:https://zam9036.gitee.io/2020/01/10/21-Graphical-data-structure—bubble-sort

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自Zam9036的博客

相关文章:

  • 2022-12-23
  • 2021-08-12
  • 2021-09-18
  • 2021-07-17
  • 2021-09-19
猜你喜欢
  • 2021-06-18
  • 2021-05-02
  • 2022-12-23
  • 2021-12-05
  • 2021-12-28
  • 2021-08-21
  • 2021-07-08
相关资源
相似解决方案