import random
nums = []
for x in range(20):
nums.append(random.randint(1, 101))
print(nums)
def partition(arr, low, high):
i = low - 1 # index of smaller element
pivot = arr[high] # pivot
for j in range(low, high):
if arr[j] <= pivot:
i = i + 1
arr[i], arr[j] = arr[j], arr[i]
arr[i + 1], arr[high] = arr[high], arr[i + 1]
return i + 1
def quickSort(arr, low, high):
if low < high:
pi = partition(arr, low, high)
quickSort(arr, low, pi - 1)
quickSort(arr, pi + 1, high)
quickSort(nums, 0, len(nums) - 1)
print(nums)
快速排序 - Lomuto partition scheme
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 算法分析还有三周考试。。感觉有必要整理一下基础知识,以便通过考试hhhhh。 快速排序 影响快排性能的几个因素,边...
- 首先是最经典的Partion函数分治思想与快速排序的经典写法: 快递排序递归部分,只要left<right 则取其...