import numpy as np
import time
src_list = np.random.randint(1, 100000, (5000)).tolist()
# print(src_list)
"""
冒泡排序: 因为越小的元素通过交换位置慢慢,浮到数列的右侧
原理:
外层:第一次循环,把最大的数字交换到最右侧
内层:需要交换多少次? 交换n-1-i次
"""
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
start_time = time.time()
result = bubble_sort(src_list)
end_time = time.time()
print("耗时:%d 毫秒" % int(round(end_time - start_time) * 1000)) # 耗时:3000 毫秒
print(result) # [1, 13, 15, 47, 52, 84, 93, 106, 112, 113, 122, 123, ... ]
python冒泡排序
最新推荐文章于 2022-09-06 10:08:03 发布