c語言中qsort函式的用法例項詳解
快速排序是一種用的最多的排序演算法,在c語言的標準庫中也有快速排序的函式,下面說一下詳細用法。
qsort函式包含在中
qsort函式宣告如下:
void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(conwww.cppcns.comst void *,const void *));
引數說明:
base,要排序的陣列
nmemb,陣列中元素的數目
size,每個陣列元素占用的記憶體空間,可使用sizeof函式獲得
compar,指向函式的指標也即函式指標。這個函式用來比較兩個陣列元素,第乙個引數大於,等於,小於第二個引數時,分別顯示正值,零,負值。
下面看幾個例子:
#include
#include
#include
#include
void main(void)
; char b[10]=;
double c[10]=;
int cmp1(const void * a,const void * b)
int cmp2(const void * a,const void *b)
int c***(const void * a,constwww.cppcns.com void * b)
qsort(a,10,sizeof(int),&cmp1);//對於函式指標(指向函式的指標),直接傳入函式名和函式名進行&
//運算都是可以的,因為在呼叫函式時也是取的函式的位址
qsort(b,1程式設計客棧0,sizeof(char),cmp2);
qsort(c,10,sizeof(double),c***);
for(i=0;i<10;i++)
printf("%d 程式設計客棧",a[i]);
for(i=0;i<10;i++)
printf("%c ",b[i]);
for(i=0;i<10;i++)
printf("%lf ",c[i]);
} 本文標題: c語言中qsort函式的用法例項詳解
本文位址:
C語言中qsort函式用法
最近在刷pat時c語言中qsort函式的使用極多,所以在這裡總結整理了一下,需要的朋友可以參考下。具體樣例 參考博文 void qsort void base,size t nmemb,size t size int compar const void const void 引數說明 c語言中的qs...
C語言中的qsort函式
qsort函式可以實現一些型別的排序,目前先學習一部分淺顯的內容,如果以後有需要再深入 標頭檔案是 1 int型別的陣列排序 include includeint cmp const void a,const void b int main qsort num,8,sizeof num 1 cmp ...
C語言中qsort函式的應用
qsort函式包含在的標頭檔案裡,本文中排序都是採用的從小到大排序 int num 100 int cmp const void a const void b qsort num,100,sizeof num 0 cmp char word 100 int cmp const void a cons...