一、原理
冒泡排序(Bubble Sort)是一种基础且直观的排序算法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直至最终完成排序。
二、实例分析
l=[3,2,4,6,5,7,8,1]
初始 | 3 | 2 | 4 | 6 | 5 | 7 | 8 | 1 |
i=0 | 2 | 3 | 4 | 5 | 6 | 7 | 1 | 8 |
i=1 | 2 | 3 | 4 | 5 | 6 | 1 | 7 | |
i=2 | 2 | 3 | 4 | 5 | 1 | 6 | ||
i=3 | 2 | 3 | 4 | 1 | 5 | |||
i=4 | 2 | 3 | 1 | 4 | ||||
i=5 | 2 | 1 | 3 | |||||
i=6 | 1 | 2 | ||||||
i=7 | 1 |
二、代码
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1] :
arr[j], arr[j + 1] = arr[j + 1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print (arr[i])