冒泡排序是把最(大/小)值数往后一直"浮动",直到序列全部浮动完成。
时间复杂度:最好情况是O(n),最坏情况和平均情况是O(n2)
空间复杂度:O(1)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Jul 17 05:14:32 2019
@author: honorwh
"""
#冒泡排序
def BubbleSort(A):
for i in range(len(A) - 1):
for j in range(len(A) - i - 1):
if A[j] > A[j + 1]:
A[j + 1], A[j] = A[j], A[j + 1]
return A
A = [36, 25, 48, 12, 25, 65, 43, 57]
A = BubbleSort(A)
print(A)
图片化流程:
最值数的浮动直到完成排序,特殊情况只需要“浮动”一次 。