python 快速排序算法

该博客围绕Python实现快速排序算法展开。快速排序是重要的排序算法,在信息技术领域应用广泛,借助Python语言可高效实现此算法,能帮助开发者解决数据排序问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''
快速排序算法
一个数组有 N 个元素,使用快速排序对其进行排序输出
'''

def quick_sort(array,length):
    '''
    对输入长度为length的数组array进行快速排序算法
    :param array:
    :param length:
    :return:
    '''
    if length<=1:
        return array
    # 设定首尾指针,首尾指针所指向的元素交替有效
    # 0~start指针之间的数组都是小于或等于轴点数值的元素
    # end~length指针之间的元素都是大于或等于轴点数值的元素
    povit_value=array[0]
    start=0
    end=length-1

    while(start<end):
        while(end>start and array[end]>=povit_value):
            end-=1
        if end==start:# 说明整个数组都是有序的
            break
        else:
            # 找到的array[end]元素小于轴点数值,则应当把当前元素归到左侧子序列中
            array[start]=array[end]
        while(start<end and array[start]<=povit_value):
            start+=1
        if start==end:# 说明从0到start之间的数值都是小于轴点数值的
            break
        else:
            array[end]=array[start]
    return quick_sort(array[0:end],end)+[povit_value]+quick_sort(array[(end+1):],length-end-1)

if __name__=="__main__":
    line=input()
    # num=int(line.split(' ')[0])# 数组长度
    line=line.split(' ')

    int_array=list(map(lambda x:int(x),line))

    num=int_array[0]
    int_array.pop(0)# 整数数组

    print(int_array)

    output=quick_sort(int_array,num)

    print(output)
    # print(sort(int_array),'sorted')
    # assert output==sorted(int_array)

    output_str=''
    for num in output:
        output_str+=str(num)+' '

    print(output_str[:-1])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值