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