qsort函式的使用 C語言

2021-10-06 20:16:17 字數 1241 閱讀 9936

qsort函式是一種可以實現多種型別資料比較的函式,可int,可float,可double等等

void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));

函式引數介紹:1,要比較的陣列的位址,2.陣列的個數,3.陣列元素的型別長度,4.比較函式的位址。

使用該函式,需要為相應型別寫乙個比較的函式即可。

以下是**的實現:

#include

#include

#pragma warning(disable:4996)

#define n 6

intcompint

(const

void

*a,const

void

*b)int

compchar

(const

void

*a,const

void

*b)int

compf

(const

void

*a,const

void

*b)int

main()

;char str[n]=;

float f[n]=;

qsort

(arr, n,

sizeof

(int

), compint)

;//比較int型別的數

qsort

(str, n,

sizeof

(char

), compchar)

;//比較char型別的數

qsort

(f, n,

sizeof

(float

), compf)

;//比較float型別的數

int i =0;

for(

; i < n; i++

)printf

("\n");

for(i=

0; i < n; i++

)printf

("\n");

for(i=

0; i < n; i++

)printf

("\n");

system

("pause");

return0;

}

以上就是對qsort函式的簡單應用。

C語言qsort函式的使用

qsort函式必須是對於連續的記憶體的資料進行排序,不能對鍊錶進行排序 定義 qsort 基本快速排序的方法,每次把陣列分成兩部分和中間的乙個劃分值,而對於有多個重複值的陣列來說,基本快速排序的效率較低,且不穩定 整合在c語言庫函式裡面的qsort函式,使用三路劃分的方法解決排序這個問題。所謂三路劃...

C語言qsort函式的使用

函式原型 void qsort void base,int nelem,int width,int fcmp const void const 標頭檔案 include base 要排序的陣列 nelem 需要排序的長度 width 每個陣列元素的大小 cmp 比較函式 int型別的排序 int c...

C語言qsort 函式的使用

qsort 函式是 c 庫中實現的快速排序演算法,包含在stdlib.h標頭檔案中,其時間複雜度為 o nlogn 函式原型如下 void qsort void base,size t nmemb,size t size,int compar const void const void 此函式需要四...