C語言 快速排序

2021-09-25 15:09:01 字數 790 閱讀 6468

#include

#include

void

_quick_sort

(int

* arr,size_t left,size_t right)

// 在標桿的右邊尋找比它小的資料

while

(pi>= pv) r--;if

(pi// 如果沒有走出範圍,說明找到比標桿小的值

}// 還原標桿的值

arr[pi]

= pv;

if(pi-left >1)

_quick_sort

(arr,left,pi-1)

;if(right-pi >1)

_quick_sort

(arr,pi+

1,right);}

void

quick_sort

(int

* arr,size_t len)

void

show_arr

(int

* arr,size_t len)

//顯示函式

printf

("\n");

}int

main()

show_arr

(arr,10)

;//顯示初始陣列

quick_sort

(arr,

1000);

//進行氣泡排序

show_arr

(arr,10)

;//顯示排序後的陣列

}

快速排序C語言

就感覺,自己對這些個排序.至少,腦袋裡還沒有.哎,我老是不專心呢.加油吧.說說快速排序吧.這東西,原理就是不斷地將乙個陣列分成3部分.保持所有陣列處在這種狀態,最終完成排序.這些思想,還沒有掌握.加油吧,我還能說什麼?說些這個,呵呵.這段 起初不懂.後來,隨著不斷手工模擬,發現,採用了很多技巧.也難...

C語言 快速排序

1.快排是對氣泡排序的一種改進,在快速排序中,元素的比較和移動是從兩端向中間進行的,關鍵碼較大的元素一次就能從前面移動到後面,關鍵碼較小的元素一次就能從後面移動到前面,元素移動距離的較遠,從而減少了總的比較次數和移動次數 2.快速排序是基於分治法設計的,其分治策略是 劃分 選定乙個元素作為軸值,以軸...

快速排序 C語言

快速排序 基本思想是 1.分解 分為比基準元素小的 基準元素 比基準元素大的 三部分 2.遞迴求解 3.合併 include include define n 1000 define max 100 int a n void swap int i,int j int patition int p,i...