qsort 排序函式

2021-05-27 08:39:42 字數 1884 閱讀 1887

n排序是最常用的預處理技術

nqsort包含在標頭檔案中

n函式根據你給的比較條件進行快速排序

n排序之後的結果仍然放在原陣列中

n使用qsort函式必須自己寫乙個比較函式。

一、對整型陣列排序

int main()

;

int i,n=7;

qsort(a, n,sizeof(a[0]),cmp);

for(i=0;i

printf(「%d 「,a[i]);

}

int cmp ( const void *a , const void *b )

等同於return *(int *)a - *(int *)b;

二、對char型別陣列排序(同int型別)

nint main()

n

nint cmp ( const void *a , const void *b )

等同於return *(char *)a - *(char *)b;

三、對double型別陣列排序(同int型別)

nint main()

n;

n

int i,n=4;

n

qsort(a, n,sizeof(a[0]),cmp);

n

for(i=0;i

printf(「%.2f 「,a[i]);}

int cmp ( const void *a , const void *b )

等同於return *(double*)a > *(double *)b ? 1:-1;

四、對結構體陣列一級排序

nstruct student

stu[100];

nint cmp( const void *a ,const void *b)

n

n呼叫:qsort(stu, 100, sizeof(stu[0]),cmp)

五、對結構體陣列二級排序

按照成績的值從大到小排序,

成績相同者按姓名從小到大排序

nstruct student

stu[100];

nint cmp( const void *a ,const void *b)

n

n呼叫:qsort(stu, 100, sizeof(stu[0]),cmp)

標準庫函式qsort排序

qsort函式包含在的標頭檔案裡。qsort函式宣告如下 void qsort void base,size t nmemb,size t size,int compar const void const void 引數說明如下 base 要排序的陣列 nmemb 陣列中的元素數目 size 每個陣...

排序函式qsort和sort

qsort函式 sort函式 精心整理篇 文件 先說明一下qsort和sort,只能對連續記憶體的資料進行排序,像鍊錶這樣的結構是無法排序的。首先說一下,qsort qsort 基本快速排序的方法,每次把陣列分成兩部分和中間的乙個劃分值,而對於有多個重複值的陣列來說,基本快速排序的效率較低,且不穩定...

qsort 函式之快速排序

qsort 函式是ansi c標準中提供的,在標頭檔案中 是根據二分法寫的,時間複雜度為 n log n 原型 void qsort void base,size t nelem,size t width,cmp base 為要排序的陣列 nelem 為排序陣列的長度 width 為陣列元素的大小 ...