快速排序 C語言實現

2021-07-30 12:16:53 字數 388 閱讀 4651

以前使用rm時,ruby指令碼提供乙個sort函式,可以把陣列進行排序,後來得知採用的演算法是快速排序。

隨著資料結構課程的學習,

快速排序如今也不再神秘,

**如下

using namespace std;

void quicksort(int a,int low,int high)

int first=low;

int last=high;

int key=a[first];

while(first!=last)

}a[first]=key;

quicksort(a,low,first-1);

quicksort(a,last+1,high);

}int main()

C語言實現快速排序

快速排序,是氣泡排序的改進,通過尋找 中間元素 在一趟排序中,把比 中間元素 小的數放到左邊,比 中間元素 大的數放到右邊,如此遞迴,最終得到排序結果。include define num 5 void quick sort int a,int left,int right void swap in...

c語言實現快速排序

快速排序使用分治法 divide and conquer 策略來把乙個序列 list 分為兩個子串行 sub lists 步驟為 從數列中挑出乙個元素,稱為 基準 pivot 重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面 相同的數可以到任一邊 在這個分割槽結束...

C語言實現快速排序

快速排序 方法 從左邊開始找比基準值大的元素,從右邊找比基準值小的元素,交換兩個元素 缺點 如果所給元素序列為逆序的,那麼快速排序的時間複雜度很糟糕。長序列對遞迴排序來說不友好。時間複雜度 平均o nlogn 最壞o n 空間複雜度 最壞o n 穩定性 不穩定排序 int quicsort int ...