我正在尝试计算泡沫和插入排序.排序适用于它们两个,但它输出需要15秒,这显然是不正确的.有任何建议如何解决这个问题?
# insertion sort
x = [7, 2, 3, 5, 9, 1]
def insertion(list):
for index in range(1,len(list)):
value = list[index]
i = index - 1
while i>=0 and (value < list[i]):
list[i+1] = list[i] # shift number in slot i right to slot i+1
list[i] = value # shift value left into slot i
i = i - 1
# bubble sort
y = [7, 2, 3, 5, 9, 1]
def bubble(unsorted_list):
length = len(unsorted_list) - 1
sorted = False
while not sorted:
sorted = True
for i in range(length):
if unsorted_list[i] > unsorted_list[i+1]:
sorted = False
unsorted_list[i], unsorted_list[i+1] = unsorted_list[i+1], unsorted_list[i]
def test():
bubble(y)
insertion(x)
if __name__ == '__main__':
import timeit
print(timeit.timeit("test()", setup="from __main__ import test"))
Run Code Online (Sandbox Code Playgroud)