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