快速排序

2020-05-24  本文已影响0人  小云1121

快排代码

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,快速排序:给基准数据找其正确索引位置的过程

上一篇 下一篇

猜你喜欢

热点阅读