快速排序

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值