qsort函式學習總結

2021-06-23 05:06:39 字數 1273 閱讀 7160

qsort包含在標頭檔案中,此函式

根據你給的比較條件進行快速排序,通過指標移動實現排序。排序之後的結果仍然放在原陣列中。使用qsort函式必須自己寫乙個比較函式,這一點是很重要的一步,也比較簡單。

函式原型:

void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );

各引數說明:1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的指標

舉例:一、對int型別陣列排序

int num[100];

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

qsort(num,100,sizeof(num[0]),cmp);

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

char word[100];

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

qsort(word,100,sizeof(word[0]),cmp);

三、對double型別陣列排序

double in[100];

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

qsort(in,100,sizeof(in[0]),cmp);

四、對結構體一級排序

struct sample

s[100]

//按照data的值從小到大將結構體排序

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

qsort(s,100,sizeof(s[0]),cmp);

五、對結構體二級排序

struct sample

s[100];

//按照x從小到大排序,當x相等時按照y從大到小排序

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

qsort(s,100,sizeof(s[0]),cmp);

六、對字串進行排序

struct sample

s[100];

//按照結構體中字串str的字典順序排序

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

qsort(s,100,sizeof(s[0]),cmp);

總的看來形式是一樣的。

qsort是c中的,c++中的sort函式更好用

qsort 函式學習

qsort函式包含在 的標頭檔案,能夠對陣列實現快排 void qsort void base,size t nmemb,size t size,int compar const void const void 陣列名是 base 陣列的個數是 nmemb 每個陣列元素的大小是 size 函式指標為...

函式學習總結

1.為什麼定義函式,使用函式 在程式的設計過程中,會在許多地方出現想同的 為了減少 數量,讓程式變得更加美觀,此時可以將這段程式單獨作為乙個整體,並用識別符號起乙個名字,當時使用時,直接呼叫函式名即可。這段程式叫作子程式,就是我們所說的函式。2.函式的定義 1 定義的語法形式 資料型別 函式名 形式...

函式學習總結

從開學到現在學習函式知識三個周,我從中學會了很多,但 也有很多疑惑和不懂的地方,下面是我的一些學習總結 第一點函式需要先定義,定義之後才能使用,函式的一般形式 如下 第二點函式呼叫的含義 為函式分配儲存空間,執行函式。函式呼叫的過程 第三點引用的概念 型別名 引用名 某變數名。某個變數的引 用和這個...