快速排序法

2022-08-25 21:06:26 字數 772 閱讀 2386

時隔幾天,再一次的學習起了快速排序法。竟然自己已經寫不出來了。只記得它大概的步驟。

照著書上的例子,自己又再重新寫了一遍。

#include void print(int r, int

n)int kqpass(int r, int low, int

high)

while(low < high && r[low]

low ++;

if(low

}r[low] =temp;

return

low;

}void kssort(int r, int low, int

high)

}int

main()

; printf(

"before sort:\n");

print(a,

10);

kssort(a,

0, 9

); printf(

"sort after:\n");

print(a,

10);

return0;

}

最後執行結果

kqpass函式表示一趟快速排序演算法後的結果。返回的是中軸元素所在的位置。

快速排序法的時間複雜度為 o(nlog2n)

空間複雜度為 o(log2n)

快速排序法運用到了遞迴演算法。

快速排序法

一 快速排序演算法的基本特性 時間複雜度 o n lgn 最壞 o n 2 空間複雜度 o n lgn 不穩定。快速排序是一種排序演算法,對包含n個數的輸入陣列,平均時間為o nlgn 最壞情況是o n 2 通常是用於排序的最佳選擇。因為,基於比較的排序,最快也只能達到o nlgn c void q...

快速排序法

include stdafx.h include vos.h define table mid machine name midmachine define table midmach colname id id define table midmach colname ip ip define t...

快速排序法

快速排序法思想 在待排序的n個資料中取第乙個數字為基準數,陣列最前面放乙個標桿,陣列最後麵放乙個標桿,通過基準數和標桿 i,j 出的數進行比較,實現每次排序完時候,共三組數,不大於基準數 基準數 不小於基準數 舉例說明 5 i 4,6,8,3,9,2 j 基準數5 標桿 i 指向5位置,標桿 j 指...