冒泡排序法是交换排序的一种。冒泡排序是比较形象的一种比喻方式,通常情况下,水中的气泡越是上面的气泡就越大,冒泡排序就是通过比较相邻的两个元素,将大的元素放到最后边。
冒泡排序的基本过程是:将第一个元素和第二个元素比较,如果第一个元素比第二个元素大就将他们的位置交换。比较第二个元素和第三个元素,同样如果第二个元素大于第三个元素就交换他们的位置,以此类推,直到比较到最后一个元素。
1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3. 针对所有的元素重复以上的步骤,除了最后一个。
4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
python算法:
def bubble_sort(list):
n = len(list)
for i in range(n - 1):
for j in range(0, n - 1 - i):
if list[j] > list[j + 1]:
list[j], list[j + 1] = list[j + 1], list[j]