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