快速排序 C語言資料結構

2021-04-19 18:31:26 字數 971 閱讀 3861

#include

#include

void swap(int *p1,int *p2);

void quick_sort(int *a,int left,int right);

/*函式功能:使用快速排序法進行排序:從小到大;

函式原型:void quick_sort(int *a,int left,int right)

函式引數:int *a:陣列名

int left:排序陣列的開始下標

int right:排序陣列的結束下標

函式返回值:void

作者 :  李文塔 wenta li

日期:    2023年5月21日 11:19

*/void quick_sort(int *a,int left,int right)

swap(&a[low],&a[upper]);  

}a[left]=a[upper];

a[upper]=point;

quick_sort(a,left,upper-1);

quick_sort(a,upper+1,right);}}

/*函式功能:實現兩個元素的互換

函式原型:void swap(int *p1,int *p2)

函式引數:int *p1:元素1的位址

int *p2:元素2的位址

函式返回值:void

作者 :  李文塔 wenta li

日期:    2023年5月21日11:20

*/void swap(int *p1,int *p2)

/*main 函式*/

#define n 10

int a[n]=;

int main()

printf("/n排序前陣列序列:/n");

quick_sort(a,0,n-1);

for(i=0;igetchar();

}

c語言資料結構之 快速排序

編譯器 vs2013 1 include stdafx.h 2 include3 include45 函式宣告67 void quicksort int a,int n 快速排序 從小到大 8void qsort int a,int m,int n 快速排序的遞迴呼叫 9int pratition ...

資料結構 快速排序C語言程式

由大到小 快速排序 待排序陣列,左側起點,右側起點 void quicksort int array,int l,int r for i quicksort array,l,i 1 quicksort array,j 1 r 成績排名處理,同分數同名次,後面的人順延,99 99 95 60,排名為 ...

C語言資料結構與演算法 快速排序

基本思想 該方法太浪費空間,需要許多空間 改進如下 只需要乙個額外的位置 依此將後續的值與所選界點進行比較 比界點大的不移動 low 或high 比界點小的移動到前面 前面有空,從後面移動乙個比界點大的 後面有空,從前面移動乙個比界點小的。當low high 時不用繼續了,並將 0 號位置的中心點放...