快排的核心是选中轴之后, 1.最右边的跟中轴数据比较,如果大于等于中轴数据,右游标左移,直到与左游标碰面或者小于中轴数据,将右边游标所对应的数据赋值给左边游标的位置 2.最左边的跟中轴数据比较,如果小于中轴数据,左游标右移,直到与右游标碰面或者大于等于中轴数据,将左边游标所对应的数据赋值给右边游标的位置 3.递归1,2 # -*- coding: utf-8 -*- def quick_sort(arr,start,end): if start >= end: return midd,left,right = arr[start],start,end while left < right: while arr[right] >= midd and left < right: right -= 1 arr[left] = arr[right] while arr[left] < midd and left < right: left += 1 arr[right] = arr[left] arr[left] = midd quick_sort(arr,start,left-1) quick_sort(arr,left+1,end) arr = [10, 7, 8, 9, 1, 5] quick_sort(arr,0,len(arr)-1) print(arr)
python快速排序
最新推荐文章于 2023-09-17 18:10:04 发布