from threading import Thread
import time
def px(number,lst):
if number == 1:
i = 1
while i < len(lst):
t = lst[i]
j = i - 1
while j >= 0 and lst[j] > t:
lst[j + 1] = lst[j]
j -= 1
lst[j + 1] = t
i += 1
print("冒泡排序:",lst)
elif number == 2:
i = 1
while i < len(lst):
t = lst[i]
j = i - 1
while j >= 0 and lst[j] > t:
lst[j + 1] = lst[j]
j -= 1
lst[j + 1] = t
i += 1
print("插入排序:",lst)
elif number ==3:
i = 0
while i < len(lst) - 1:
min = i
j = i + 1
while j < len(lst):
if lst[j] < lst[min]:
min = j
j += 1
if min != i:
lst[i], lst[min] = lst[min], lst[i]
i += 1
print("选择排序:",lst)
elif number == 4:
def patition(lst, low, high):
key = lst[low]
while low < high:
while low < high and lst[high] >= key:
high -= 1
lst[low] = lst[high]
while low < high and lst[low] <= key:
low += 1
lst[high] = lst[low]
lst[low] = key
return low
def dgdy(lst, low, high):
if low < high:
mid = patition(lst, low, high)
dgdy(lst, low, mid - 1)
dgdy(lst, mid + 1, high)
dgdy(lst, 0, len(lst)-1)
print("快速排序:",lst)
if __name__ == '__main__':
lst = [6,2,1,7,9,10,3]
data =int(input("请输入你的数字:"))
t = Thread(target=px,args=(data,lst))
t.start()
t.join()
传入指令 通过四种排序打印出 排序后的序列
最新推荐文章于 2023-11-02 09:08:31 发布