利用系統函式qsort 進行快速排序的七種形式

2021-04-26 14:23:52 字數 1394 閱讀 5543

七種

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點外的所有點,旋轉角度排序

ps:

其中的qsort

函式包含在

的標頭檔案裡,

strcmp

包含在的標頭檔案裡

qsort 函式之快速排序

qsort 函式是ansi c標準中提供的,在標頭檔案中 是根據二分法寫的,時間複雜度為 n log n 原型 void qsort void base,size t nelem,size t width,cmp base 為要排序的陣列 nelem 為排序陣列的長度 width 為陣列元素的大小 ...

qsort 使用快速排序例程進行排序

qsort 功 能 使用快速排序例程進行排序 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 用於確定排序的順序 排序方法有很多種,選擇排序,氣泡排序,歸併排序,快速排序等。看名字都知道快速排序 ...

C語言快速排序函式qsort

標頭檔案 include 函式原型 void qsort void base,size t nmemb,size t size,int compar const void const void 引數介紹 引數size 表示該陣列中每個元素的大小 位元組數 通常sizeof int 引數 compar...