使用VC庫函式中的快速排序函式

2021-08-31 17:51:36 字數 1245 閱讀 4729

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

函式原型:

void qsort(void *base,size_t num,size_t width, int (__cdecl *compare )(const void *, const void *) );

第乙個是陣列位址,第二是陣列大小,第三個是陣列中每個元素的位元組數,最後乙個是個函式指標,表示如何比較陣列中的元素。

標頭檔案 #include

下面分別就int等整數資料,double等浮點資料,結構體和類,按指定方式這四種情況進行講解。

例項1   對int等整數資料進行排序

int

cmp(const

void *x, const

void *y)

qsort(a, maxn, sizeof(a[0]), cmp);

maxn為陣列大小,下同

例項2   對double等浮點數進行排序

int

cmpdouble

(const

void *x, const

void *y)

qsort(a, n, sizeof(a[0]), cmpdouble);

例項3  對結構體,類等複雜資料進行排序

struct

student;

先對年齡排序,年齡相同再按姓名排序。

int

cmpstudent

(const

void *x, const

void *y)

qsort(a, n, sizeof(a[0]), cmpstudent);

例項4     按指定方式進行排序。

如對只有大小寫字母的字串"aajkukdyubcdwyz"進行排序,要求大寫字母在前,小寫字母在後。

int

cmp1

(const

void *x, const

void *y)

intmain

()

給我老師的人工智慧教程打call!

使用VC庫函式中的快速排序函式

函式原型 void qsort void base,size t num,size t width,int cdecl compare const void const void 第乙個是陣列位址,第二是陣列大小,第三個是陣列中每個元素的位元組數,最後乙個是個函式指標,表示如何比較陣列中的元素。標頭...

使用VC庫函式中的快速排序函式

下面講下vc中庫函式qsort 的用法 函式原型 void qsort void base,size t num,size t width,int cdecl compare const void const void 第乙個是陣列位址,第二是陣列大小,第三個是陣列中每個元素的位元組數,最後乙個是個...

使用VC庫函式中的快速排序函式

函式原型 void qsort void base,size t num,size t width,int cdecl compare const void const void 第乙個是陣列位址,第二是陣列大小,第三個是陣列中每個元素的位元組數,最後乙個是個函式指標,表示如何比較陣列中的元素。標頭...