7.1 快速排序的描述
# 说明
# 代码
from typing import List,Optional
import math
def quicksort(A:List[int],p:int,r:int):
if p<r:
q = partition(A,p,r)
quicksort(A,p,q-1)
quicksort(A,q+1,r)
def partition(A:List[int],p:int,r:int)->int:
x = A[r]
i = p - 1
for j in range(p,r):
if A[j]<=x:
i=i+1
A[i],A[j] = A[j],A[i]
A[i+1],A[r] = A[r],A[i+1]
return i+1
A = [2,8,7,1,3,5,6,4]
quicksort(A,0,len(A)-1)
print(A)
上次更新: 2025/03/22, 03:52:10