此处用两个指针:left 与 right来处理,当s归位时划分完毕;例如数组;
排序前
?
以s = 5 进行划分为左小右大,直到s归位,返回该处的left
?..., right):
s = li[left] # 该处 我们始终以第一个元素为s,即所取元素
while left < right: # 然后进行循环满足:左小右大原则将数组的元素归位...< right:
left += 1
li[right] = li[left]
li[left] = s
return left # 归位后返回其下标...left < right:
mid = passt(li, left, right)
quick_sorted(li, left, mid-1) # 递归将其左部分进行归位处理...quick_sorted(li, mid+1, right) # 递归将其右部分进行归位处理
if __name__ == '__main__':
li = [5,4,6,7,3,8,2,1,9