題目描述:
c/c++中有乙個快速排序的標準庫函式 qsort,在stdlib.h 中宣告,其原型為:
void qsort(void *base,int nelem, unsigned int width,int (*pfcompare)( const void *, const void *));
其中base為待排序資料,nelem為元素數目,width為每個元素長度,單位為位元組,pfcompare為乙個比較函式。
根據qsort 函式的用法規定,「比較函式」的原型應是:
int 函式名(const void * elem1, const void * elem2);
如果* elem1 應該排在 * elem2 前面,則函式返回值是負整數;
如果* elem1 應該排在 * elem2 後面,則函式返回值是正整數;
如果* elem1和* elem2順序無所謂,則函式返回0。
請程式設計實現呼叫該庫函式,實現乙個較大整數陣列的增序快速排序。
題目要求:
輸入——第一行為整數元素數目n, 第二行為n個整數,用空格分隔。
輸出——n個從小到大排好的整數,用空格分開。
#include
#include int compare(constvoid *a,const void *b)// 定義不是任何型別的指標常量,但是可以是任何型別的指標。
int main()//主函式
{ int i,n;
scanf("%d",&n);//讀入需要排序陣列中的元素數目
int a[n];
for(i=0;i
快速排序:快速排序採用了一種分治策略——將原問題分解成若干個規模更小但是結構跟原問題相似的子問題。這些子問題的解決則利用了遞迴思想
c語言快速排序的庫函式整理
以下所介紹的所有排序都是從小到大排序 快速排序的庫函式都包含在頭檔名為中 1 對int型陣列排序 int num 100 int cmp const void a,const void b int main 2 對char型陣列排序 char st 100 int cmp const void a,...
C C 快速排序庫函式
c 自定義比較函式 庫函式比較函式 命名空間std void qsort void base,size t num,size t size,int comparator const void const void include其中const void a表示宣告了乙個常量指標 a,int a指的是...
c語言庫函式
1 asll可現實字元 include library.h u8 lib int2string u32 number,u8 char s char s i 0 for j 0 j i 2 j return i description 初始化記憶體函式,以位元組為單位 param in pdst 目標...