冒泡排序的先排后面的,每一次都是两个数比较将大的数放在后面
def bubble_sort(array):
count = len(array)
for a in range(0,count):
repetition_count = 0
for i in range(0,count-1-a):
if array[i] > array[i+1]:
array[i], array[i+1] = array[i+1], array[i]
repetition_count += 1
if repetition_count == 0: # 最好的结果时间复杂度为O(n)
return array
return array
if __name__ == "__main__":
lis = [49, 38, 65, 97, 76, 13, 27, 49]
print(bubble_sort(lis))
最优时间复杂度:O(n) (表示遍历一次发现没有任何可以交换的元素,排序结束。)
最坏时间复杂度:O(n2)
稳定性:稳定