简介
排序可能是所有的算法中最最基础和最最常用的了。排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序。
排序算法有很多种,每个都有其自身的优点和局限性。
今天我们来学习最最简单的冒泡排序算法。
冒泡排序的原理
冒泡排序的原理很简单,我们想象一下一个一个的气泡上浮的过程。
假设我们有八个数字 29,10,14,37,20,25,44,15 要进行排序。
我们先用一个动画图来直观的观察一下整个冒泡排序的过程:
排序共进行八轮,每一轮都会做两两比较,并将较大的元素右移,就像冒泡一下。
一轮结束之后,八个元素中最大的那个元素44将会移动到最右边。
然后再重复其他的几轮。最终得到一个完全排序的数组。
也可以这样看:
第一轮是将八个元素中的最大值44交换移动到最右位置。
第二轮是将八个元素中的次大值37交换移动到最右位置。
以此类推。