国产精品与欧美交牲久久久久_国产精品毛片在线完整版_成人欧美在线视频_一个人看的www日本高清视频_日韩AV东北熟女_一区二区三区黄色毛片免费高清视频_亚洲欧美另类人妻_四虎精品免费视频_久久国产精品99精品国产_免费看黄片在线看

C 庫函數(shù)  ndash  qsort()  介紹

首先,咱們得知道 qsort() 是什么玩意,什么能用它。qsort()是C語言中非常重要的一個庫函數(shù),它可以按特定的排序方式對任意類型的數(shù)組進行排序,這個特定排序方式需要用戶自行編寫,然后作為參數(shù)傳入該函數(shù)當中。在排序完成后,數(shù)組的元素就滿足所指定的順序了。

順便插一句,就是 qsort() 函數(shù)是 quick sort(快排)的縮寫,因為它是一種快速排序算法的實現(xiàn)。

那既然是排序,就肯定跟比較的結果有關啦 ~

函數(shù)原型:

```c

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void* ))

```

我們先來翻譯一下這個原型:

參數(shù):

* base -- 指向要排序的數(shù)組的第一個元素的指針。

* nitems -- 由 base 指向的數(shù)組中元素的個數(shù)。

* size -- 數(shù)組中每個元素的大小,以字節(jié)為單位。

* compar -- 用來比較兩個元素的函數(shù)的指針。這個函數(shù)指針接受兩個指向常量的 void * 類型的參數(shù)(也就是你需要先強制類型轉換),并返回一個 int 類型的值,這個值表示兩個元素的順序。

這個函數(shù)指針通常是由用戶自定義的比較函數(shù),而我們可以使用此函數(shù)來寫出相應的程序。

那么怎么用呢?

我們可以先定義一個比較函數(shù)(一般情況下要定義一個單獨的函數(shù)):

```c

int compare(const void *a, const void *b) {

int x, y;

x = *(int *)a; //強制類型轉換

y = *(int *)b;

if (x < y)

return -1;

else if (x == y)

return 0;

else

return 1;

}

```

這個函數(shù)會將數(shù)組中的兩個元素進行比較,返回一個int型的值,表示它們的大小關系?,F(xiàn)在我們可以在我們的主函數(shù)中使用qsort()函數(shù):

```c

#include

#include

#define SIZE 10

int compare(const void *a, const void *b) {

int x, y;

x = *(int *)a;

y = *(int *)b;

if (x < y)

return -1;

else if (x == y)

return 0;

else

return 1;

}

int main(void) {

int array[SIZE] = { 5, 9, 2, 8, 4, 1, 10, 3, 7, 6 };

int i;

qsort(array, SIZE, sizeof(int), compare); //使用qsort()函數(shù)進行排序

for(i = 0; i < SIZE; i++) {

printf("%d ", array[i]);

}

printf("\n");

return 0;

}

```

我們來試試,看看能不能成功排序,我預測答案是:能!

輸出結果:

```c

$ ./test

1 2 3 4 5 6 7 8 9 10

```

完美!

所以,當咱們需要對任何類型的數(shù)據(jù)進行排序時,qsort()函數(shù)是非常好的選擇。只需編寫相應的比較函數(shù),將其指針傳遞給qsort()函數(shù),就可以輕松地將數(shù)組排序了。 yinyiprinting.cn 寧波海美seo網(wǎng)絡優(yōu)化公司 是網(wǎng)頁設計制作,網(wǎng)站優(yōu)化,企業(yè)關鍵詞排名,網(wǎng)絡營銷知識和開發(fā)愛好者的一站式目的地,提供豐富的信息、資源和工具來幫助用戶創(chuàng)建令人驚嘆的實用網(wǎng)站。 該平臺致力于提供實用、相關和最新的內(nèi)容,這使其成為初學者和經(jīng)驗豐富的專業(yè)人士的寶貴資源。

點贊(93) 打賞

聲明本文內(nèi)容來自網(wǎng)絡,若涉及侵權,請聯(lián)系我們刪除! 投稿需知:請以word形式發(fā)送至郵箱[email protected]

評論列表 共有 1 條評論

殺雞敬猴 1年前 回復TA

做好內(nèi)容的人有福了!SEO本來就該如此! 我也認為這個是有道理的

立即
投稿
發(fā)表
評論
返回
頂部