def cal_time(func):
def wrapper(*args, **kwargs):
t1 = time.time()
result = func(*args, **kwargs)
t2 = time.time()
print("%s running time: %s secs." % (func.__name__, t2 - t1))
return result
return wrapper
@cal_time
def bubble_sort(li):
"""
冒泡排序原理:前一个数和后一个数做比较,较大的数往后排然后依次比较
:param li:
:return:
"""
# n 个数字需要做n-1趟操作
for i in range(len(li) - 1):
# 每做一趟排序就会有一个数字排好,做i次就有i个数字排好序。做交换的次数是n-i-1次
for j in range(len(li) - i - 1):
if li[j] > li[j+1]:
li[j], li[j+1] = li[j+1], li[j]
return li
# print(bubble_sort([i for i in random.randrange(0, 1000)]))
# print(len([i for i in range(10)]))
def shuffle1():
"""
:return: item顺序打乱后的列表
"""
item = [i for i in range(10000)]
random.shuffle(item)
return item
print(bubble_sort(shuffle1()))