def Partition(nums, left, right):
tmp = nums[left]
mi = left
for i in range(left+1, right):
if nums[i] < tmp:
mi += 1
nums[mi], nums[i] = nums[i], nums[mi]
nums[mi], nums[left] = nums[left], nums[mi]
return mi
def quickSort(nums, left, right):
index = Partition(nums, left, right)
if index > left:
quickSort(nums, left, index)
if index < right-1:
quickSort(nums, index+1, right)
if __name__ == '__main__':
nums = [2, 7, 1, 4, 5, 3, 44, -1]
quickSort(nums, 0, len(nums))
print(nums)
非递归插入排序
最新推荐文章于 2022-04-26 17:29:46 发布