快速排序(一)

2021-06-29 02:34:50 字數 705 閱讀 4080

#include int * quicksort(int *, int, int);

int index(int *, int, int);

int main(void);

quicksort(a,low,high);

printf("快速公升序後的值為:\n");

for(i=0;i<8;i++)

return 0;

} int * quicksort(int *a, int low, int high) //遞迴呼叫的時候搞清楚引數的傳遞,在求左區間右邊序時,high的值就變為midle-1了,所以綜上所述不能直接寫成具體常量值

return a;

}int index(int *a, int low, int high)

a[low] = a[high];

while(low < high && val > a[low])

a[high] = a[low];

//上面執行後high的值和low的值會相等

a[low] = val; //起始位置的值找到了它的歸宿點 ,將陣列分成了兩部分

midle = low; //可以寫成midle = high,兩者等價的 ,因為兩個值相等了 }

return midle;

}

快速排序 一

title 快速排序 description 速排序法 quick sort 是目前所公認最快的排序方法之一 視解題的物件而定 雖然快速排序法在最差狀況下可以達o n2 但是在多數的情況下,快速排序法的效率表現是相當不錯的。快速排序法的基本精神是在數列中找出適當的軸心,然後將數列一分為二,分別對左邊...

快速排序(一)

快速排序的基本思想 1 先選定乙個特定的數v,將一組數分為三個部分。需要三個下標來表示。l 作為左值,j 標定值,i 作為右值。arr l 1.j v 2 接著判斷i 1後面的部分屬於哪一部分。若arr i 1 v,不動,直接將該數放在此處就好。若arr i 1 分好後,最後一步將特定的數v與當前j...

排序演算法(一) 快速排序

突然覺得在本科的時候自己的基本功練習的不是很過關,趁著學python的熱乎勁好好把基礎演算法過一過,等以後面試的時候也不會死的太慘。快速排序 quicksort 快速排序的可以說是在資料量較大且資料夠隨機的情況下,平均時間複雜度最好的演算法,如果你沒辦法判斷待排序資料的隨機度和規模,用quickso...