快速排序(QuickSort)
快速排序是C
ConquerMethod)
(
分治法的基本思想是
的解組合為原問題的解
(
設當前待排序的無序區為R[low
①分解
在R[low
R[pivotpos+
區間中所有記錄的關鍵字均大於等於pivot
注意
劃分的關鍵是要求出基准記錄所在的位置pivotpos
R[low
其中low≤pivotpos≤high
②求解
通過遞歸調用快速排序對左
③組合
因為當
作
void QuickSort(SeqList R
{ //對R[low
int pivotpos; //劃分後的基准記錄的位置
if(low pivotpos=Partition(R,low,high); //對R[low..high]做劃分 QuickSort(R,low,pivotpos-1); //對左區間遞歸排序 QuickSort(R,pivotpos+1,high); //對右區間遞歸排序 } } //QuickSort 注意: 為排序整個文件,只須調用QuickSort(R,1,n)即可完成對R[l..n]的排序。tW.WinGWIT.CoM
From:http://tw.wingwit.com/Article/program/sjjg/201311/23795.html