介紹:
**:
# include
//快速排序的函式
//第乙個引數為要排序的陣列,第二個引數是參與排序的起始位置,第三個引數是引數排序的截止位置
void
quicksort
(int
* arr ,
int low,
int height)
;//找到陣列下標為第二個引數的值 在 公升序中應該在的 位置(下標)
intfindpost
(int
* arr,
int low,
int height)
;int
main
(void);
quicksort
(arr ,0,
6);int i;
for(i=
0; i<
7; i++
)printf
("\n");
return0;
}void
quicksort
(int
* arr ,
int low,
int height)
}int
findpost
(int
* arr,
int low,
int height)
arr[low]
= arr[height]
;while
(low < height && arr[low]
<= val)
arr[height]
= arr[low];}
arr[low]
= val;
return low;
}
結果:
C 快速排序(快排) 歸併排序
二 歸併排序 快速排序 英語 quicksort 又稱分割槽交換排序 partition exchange sort 簡稱快排,一種排序演算法,最早由東尼 霍爾提出。在平均狀況下,排序n個專案要o n log n 大o符號 次比較。在最壞狀況下則需要 o n2 次比較,但這種狀況並不常見。事實上,快...
演算法 快速排序 經典快排 隨機快排
經典快排的思路是選取陣列的最後乙個數 x,按照問題一的思路把整個陣列劃分成小於等於 x 大於 x兩個部分,將 x 和 大於 x 部分陣列的第乙個元素交換位置。此時整個陣列劃分成小於等於 x x 大於 x三個部分,也就是這一次排序將 x 值排好位置。再分別對小於等於 x和大於 x中的陣列遞迴劃分,直到...
C語言快排
作為時間複雜度與空間複雜度均為o nlogn 的排序演算法 快速排序,本文主要介紹它的簡單函式呼叫及其詳細的 實現 include includeint main 陣列型別不同,比較函式會有些微的差異 首先在函式的形參處,使用const void 表示無型別指標,也就是說可以接受任意型別的指標 其次...