# 以 A[r] 的值為基準分割陣列 A 的區間 [l, r] partition(A, l, r): p ← l i ← p-1 for j ← p to r-1: if A[j] < A[r]: # 與基準值做比較 i ← i+1 swap(A[i], A[j]) # 與較大群組最前端的元素互換 i ← i + 1 swap(A[i], A[r]) # 將基準值 A[r] 移到較大群組的最前端 return i # 使用此函式對陣列 A 進行分割的範例 q ← partition(A, 0, N-1)