(王道408考研数据结构)第八章排序-第四节1:冒泡排序
Posted 我擦了DJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(王道408考研数据结构)第八章排序-第四节1:冒泡排序相关的知识,希望对你有一定的参考价值。
- 回到总目录:点击跳转
(1)基本思想
冒泡排序属于交换类排序,简单点来说**,每趟排序不断比较相邻元素的大小然后进行交换**,这样如果按升序排序,那么最大的元素一定就会交换到最后面,次大的元素会交换到倒数第二位,依次类推。
(2)代码
1:完整排序
可以发现,当完成一趟排序之后,无序序列的元素就少了一位,那么需要排序的元素的位数也就少了一位。
所以定义一个变量end,它表示每趟排序指向此时无序序列的最后一个元素,然后对其进行排序,一趟结束之后,无序元素少一位,end向前移动,直到end=0时,表示排序结束。
关于这个代码当中要注意那个flag的设置,因为如果某趟排序排完之后,使的整个序列已经有序了,那么就没有必要再次排序了,所以设立flag就是要确保还进入了排序,说明此时还不是完全有序。
(3)动态演示
以上是关于(王道408考研数据结构)第八章排序-第四节1:冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章
(王道408考研数据结构)第八章排序-第三节1:简单选择排序
(王道408考研数据结构)第八章排序-第三节1:简单选择排序
(王道408考研数据结构)第八章排序-第二节:直接插入排序和希尔排序
(王道408考研数据结构)第八章排序-第二节:直接插入排序和希尔排序