C語言中排序函式的用法

2021-08-13 09:27:05 字數 2181 閱讀 6516

c語言中沒有預置的sort函式。如果在c語言中,遇到有呼叫sort函式,就是自定義的乙個函式,功能一般用於排序。

一、可以編寫自己的sort函式。

如下函式為將整型陣列從小到大排序。

void sort(int *a, int l)//a為陣列位址,l為陣列長度。

}}對於這樣的自定義sort函式,可以按照定義的規範來呼叫。

二、c語言有自有的qsort函式。

功 能: 使用快速排序例程進行排序

標頭檔案:stdlib.h

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

引數:1 待排序陣列首位址

2 陣列中待排序元素數量

3 各元素的占用空間大小

4 指向函式的指標,用於確定排序的順序

這個函式必須要自己寫比較函式,即使要排序的元素是int,float一類的c語言基礎型別。

以下是qsort的乙個例子:

#include#includeint comp(const void*a,const void*b)//用來做比較的函式。

int main()

;//亂序的陣列。

int i;

qsort(a,n,sizeof(int),comp);//呼叫qsort排序

for(i=0;i<10;i++)//輸出排序後的陣列

return 0;

}

---- - - - -  -  -   -    -    - 分割線   ——————————————————————————————————

在c++中qsort()排序函式的使用qsort函式應用大全 

七種qsort排序方法

《本文中排序都是採用的從小到大排序》

一、對int型別陣列排序

int num[100];

sample:

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

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

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

char word[100];

sample:

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 in

s[100]

//按照data的值從小到大將結構體排序,關於結構體內的排序關鍵資料data的型別可以很多種,參考上面的例子寫

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

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

五、對結構體二級排序

struct in

s[100];

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

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

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

六、對字串進行排序

struct in

s[100];

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

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

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

七、計算幾何中求凸包的cmp

int cmp(const void *a,const void *b) //重點cmp函式,把除了1點外的所有點,旋轉角度排序

: c++中載入標頭檔案 "iostream"

c中qsort函式包含在的標頭檔案裡,strcmp包含在的標頭檔案裡

C語言中排序函式的用法

c語言中沒有預置的sort函式。如果在c語言中,遇到有呼叫sort函式,就是自定義的乙個函式,功能一般用於排序。一 可以編寫自己的sort函式。如下函式為將整型陣列從小到大排序。void sort int a,int l a為陣列位址,l為陣列長度。對於這樣的自定義sort函式,可以按照定義的規範來...

C語言中排序演算法

選擇排序 拿到其中乙個元素的值依次和其他元素進行比較,完全比較完一次之後,最大或者最小的值出現在第0位.氣泡排序 用兩個相鄰的元素進行比較,每完全比較完依次,最大或者最小的值出現在末尾.例 intnums 5 int length sizeof nums sizeof nums 0 for int ...

C語言中排序演算法總結

十大經典排序演算法 1.0 十大經典排序演算法 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾...