import random
import time
data = list(range(1000))
random.shuffle(data)
#时间装饰器
def time_decorate(func):
def time_count(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print("程序运行时间为:{}".format(end - start))
return result
return time_count
#冒泡排序
@time_decorate
def downUp_sort(data):
for i in range(len(data) - 1):
for j in range(len(data) - 1 - i):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
return data
# print(downUp_sort(data))
#选择排序
@time_decorate
def select_sort(data):
for i in range(len(data) - 1):
for j in range(i+1, len(data)):
if data[i] > data[j]:
data[i], data[j] = data[j], data[i]
return data
# print(select_sort(data))
#插入排序
@time_decorate
def insert_sort(data):
for i in range(1, len(data)):
temp = data[i]
j = i - 1
while j >= 0 and data[j] > temp:
data[j + 1] = data[j]
j -= 1
data[j + 1] = temp
return data
# print(insert_sort(data))
#快速排序
def quick_sort(data, start, end):
temp = data[start]
while start < end:
while start < end and data[end] >= temp:
end -= 1
data[start] = data[end]
while start < end and data[start] <= temp:
start += 1
data[end] = data[start]
data[start] = temp
return start
def quick(data, start, end):
if start < end:
mid = quick_sort(data, start, end)
quick(data,start,mid-1)
quick(data,mid+1, end)
return data
print(quick(data,0,len(data)-1))