数据结构算法第三篇——排序算法之~冒泡,双向冒泡。

冒泡算法(降序)
冒泡排序
思想:在顺序表中,元素个数为n,循环n-1次(外部最多循环次数),每次从顺序表始端向尾端(当到达尾端已排好的序列时跳出内部循环)比较,如果前一个元素值大于当前元素值则对换节点,直至降序排序成功(设置一个变量(noswap)用于记录一趟排序是否存在交换,若不存在交换,说明已经排序成功,没必要再继续比较,可以退出循环)。(升序类似)
双向冒泡(降序)

双向冒泡排序
思想:双向冒泡的“双向”为1、从始端向末端比较2、末端向始端比较,每一向的比较对换等同于冒泡排序(双向冒泡排序的比较对换对于两端的已经排好序的不用再比较),用变量记录次数,通过除2取余判断方向,直至降序排序成功(设置一个变量(noswap)用于记录一趟排序是否存在交换,若不存在交换,说明已经排序成功,没必要再继续比较,可以退出循环)。(升序类似)
效果展示及对3000个随机数排序(两种算法排序对象相同)所用时间

生成3000个随机数

冒泡排序

双向冒泡排序