import random #创建一个无序列表
def generateUnsortedList(length):
unsortedList = []
for i in range(0,length):
unsortedList.append(random.randint(0,100))
return unsortedList
def quickSort(unsortedList):
if len(unsortedList)<2: #函数的调出条件
return unsortedList
less=[] #创建一个空列表1
greater=[] #创建一个空列表2
middle=unsortedList.pop(0) #取出指定列表的第一个元素
for item in unsortedList: #用指定列表中的每一个元素与取出的第一个元素相比较
if item<middle: #若取出的元素小于第一个元素,则放入列表1中
less.append(item)
else: #否则,则放入列表2中
greater.append(item)
return quickSort(less)+[middle]+quickSort(greater) #最后,再将列表1和列表2放入函数中,实现递归,直至满足跳出条件,完成排序
if __name__ == '__main__':
unsortedList = generateUnsortedList(10)
print(unsortedList)
sorted_list = quickSort(unsortedList)
print(sorted_list)
快速排序
最新推荐文章于 2024-09-12 15:56:42 发布