美文网首页
快速排序

快速排序

作者: 小云1121 | 来源:发表于2020-05-24 08:33 被阅读0次

    快排代码

    def quick(nums,left,right):
            if len(nums)==0:
                    return nums
            tmp=nums[left]
            while(left<right):
                    if(nums[right]>tmp):
                            right=right-1
                    if(nums[left]<tmp):
                            left=left+1
                    nums[left],nums[right]=nums[right],nums[left]
            nums[left]=tmp
            return left
    
    def quick_sort(nums,left,right):
            if left<right:
                    mid=quick(nums,left,right)
                    quick_sort(nums,left,mid-1)
                    quick_sort(nums,mid+1,right)
    
    def main(nums):
            quick_sort(nums,0,len(nums)-1)
    
    
    li=[5,2,1,9,10]
    main(li)
    print(li)
    

    排序算法总结:
    1,冒泡排序:每一趟遍历,把最大的数移动到序列末尾
    2,插入排序:讲无序部分的元素插入有序数列中
    3,选择排序:最小元素和第一个元素交换,剩下的元素继续选择交换
    4,快速排序:给基准数据找其正确索引位置的过程

    相关文章

      网友评论

          本文标题:快速排序

          本文链接:https://www.haomeiwen.com/subject/xfldahtx.html