#include
#include
#define maxsize 20 //順序表的最大長度
typedef
int keytype; //定義關鍵字型別為整數型別
typedef
struct
redtype; //記錄型別
typedef
struct
sqlist; //順序表型別
//quicksort
int partition (sqlist &l,int low,int high)
l.r[low] = l.r[0]; //樞軸記錄到位
return low; //返回樞軸位置
}void qsort (sqlist &l,int low,int high) //對順序表l中的子串行l.r[low..high]作快速排序
}void quicksort (sqlist &l) //將順序表l作快速排序
//列印
void printsort (sqlist &l)
}//主函式
void main ()
快速排序 quick sort C
快速排序效能好壞主要在於主元的選取。下面 有兩種選主元的方式 1 每次選取當前序列的第乙個元素 2 選取選取當前序列的 首元素 中間元素 尾元素 的 中位數.核心 每次 給主元找到準確的排序位置 效率高的原因也就在於每次找的的都是準確的位置 1 選取首元素為基準 主元 的實現 includeint ...
2 快速排序(QuickSort C 實現
快速排序的雖然比較簡單,但對於比較久沒接觸的朋友來說,還是容易遺忘的,本人覺得這裡有兩個難點 1 快速排序中心思想 快速排序的思想歸納起來有的三步 任意選取序列中的乙個元素,用此元素作為 中間元素 這裡說明一下,這個 中間元素 排序後不一定剛好在序列的中間。在序列中取出所有大於 中間元素 的元素,放...
快速排序 QuickSort C語言版
快速排序的核心在於分治.分治演算法 1.認定只有乙個元素或沒有元素的陣列是有序的.2.將陣列按照乙個分界值分為左右兩部分.左面所有元素值比分界值小,右面所有元素值比分界值大或等於.3.將左右兩部分分別再分治,直到要分支的部分只有乙個元素或沒有元素,那麼整個陣列就是有序的了.部落格 include i...