quicksort(A, low, high)begin if low < high then p ← partition(A, low, high) quicksort(A, low, p-1) quicksort(A, p+1, high)endpartition(A, low, high)begin pivot ← A[high] i ← low - 1 for j ← low to high-1 do if A[j] ≤ pivot then i ← i + 1 swap A[i] ↔ A[j] swap A[i+1] ↔ A[high] return i + 1end