最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中qsort函數(shù)的用法實例詳解

 更新時間:2017年10月31日 14:34:05   作者:趙子蒼  
這篇文章主要介紹了C語言中qsort函數(shù)的用法實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下

C語言中qsort函數(shù)的用法實例詳解

快速排序是一種用的最多的排序算法,在C語言的標準庫中也有快速排序的函數(shù),下面說一下詳細用法。

qsort函數(shù)包含在<stdlib.h>中

qsort函數(shù)聲明如下:

void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));


參數(shù)說明:

base,要排序的數(shù)組
nmemb,數(shù)組中元素的數(shù)目
size,每個數(shù)組元素占用的內存空間,可使用sizeof函數(shù)獲得
compar,指向函數(shù)的指針也即函數(shù)指針。這個函數(shù)用來比較兩個數(shù)組元素,第一個參數(shù)大于,等于,小于第二個參數(shù)時,分別顯示正值,零,負值。

下面看幾個例子:

#include<stdio.h> 
#include<stdlib.h> 
#include<math.h> 
#include<string.h> 
 
void main(void) 
{ 
  int i; 
  int a[10]={0,1,2,3,4,5,6,7,8,9}; 
  char b[10]={'a','b','c','d','e','f','g','h','i','j'}; 
  double c[10]={0.1,0.2,0.9,0.5,0.3,0.6,0.7,0.8,1.1,1.2}; 
  int cmp1(const void * a,const void * b) 
  { 
    return (*(int*)a-*(int*)b);//a>b 返回正值 
  } 
 
  int cmp2(const void * a,const void *b) 
  { 
    return(*(char*)a-*(char*)b); 
  } 
  int cmp3(const void * a,const void * b) 
  { 
    if(fabs(*(double*)a-*(double *)b)<1*exp(-20)) 
      return 0; 
    else 
      return(((*(double*)a-*(double*)b)>0)?1:-1); 
  } 
 
  qsort(a,10,sizeof(int),&cmp1);//對于函數(shù)指針(指向函數(shù)的指針),直接傳入函數(shù)名和函數(shù)名進行& 
                 //運算都是可以的,因為在調用函數(shù)時也是取的函數(shù)的地址 
  qsort(b,10,sizeof(char),cmp2); 
  qsort(c,10,sizeof(double),cmp3); 
  for(i=0;i<10;i++) 
    printf("%d ",a[i]); 
  for(i=0;i<10;i++) 
    printf("%c ",b[i]); 
  for(i=0;i<10;i++) 
    printf("%lf ",c[i]); 
} 

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • C++基于CreateToolhelp32Snapshot獲取系統(tǒng)進程實例

    C++基于CreateToolhelp32Snapshot獲取系統(tǒng)進程實例

    這篇文章主要介紹了C++基于CreateToolhelp32Snapshot獲取系統(tǒng)進程實例,是Windows應用程序設計中非常實用的技巧,需要的朋友可以參考下
    2014-10-10
  • C語言Easyx實現(xiàn)貪吃蛇詳解

    C語言Easyx實現(xiàn)貪吃蛇詳解

    這篇文章主要為大家詳細介紹了基于easyx的C++實現(xiàn)貪吃蛇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++編程模板匹配超詳細的識別手寫數(shù)字實現(xiàn)示例

    C++編程模板匹配超詳細的識別手寫數(shù)字實現(xiàn)示例

    大家好!本篇文章是關于手寫數(shù)字識別的,接下來我將在這里記錄我的手寫數(shù)字識別的從零到有,我在這里把我自己的寫代碼過程發(fā)出來,希望能幫到和我一樣努力求知的人
    2021-10-10
  • QT+OpenCV實現(xiàn)錄屏功能

    QT+OpenCV實現(xiàn)錄屏功能

    這篇文章主要為大家詳細介紹了QT+OpenCV實現(xiàn)錄屏功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言庫函數(shù)qsort的使用詳解

    C語言庫函數(shù)qsort的使用詳解

    C語言庫函數(shù)中的qsort的是一個回調函數(shù),回調函數(shù)就是一個通過函數(shù)指針調用的函數(shù),這篇文章主要介紹了C語言庫函數(shù)qsort的使用,需要的朋友可以參考下
    2022-06-06
  • 帶你了解C++的動態(tài)內存分配

    帶你了解C++的動態(tài)內存分配

    今天小編就為大家分享一篇關于關于C++動態(tài)分配內存的介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-08-08
  • 一篇文章帶你了解C++模板編程詳解

    一篇文章帶你了解C++模板編程詳解

    這篇文章主要介紹了C++的模板,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Qt編寫地圖實現(xiàn)海量點位標注

    Qt編寫地圖實現(xiàn)海量點位標注

    海量點位標注的出現(xiàn),是為了解決普通設備點超過幾百個性能極速降低的問題。本文將介紹如何通過Qt實現(xiàn)海量點位標注功能,感興趣的可以了解一下
    2022-01-01
  • Unity編輯器下重啟的方法

    Unity編輯器下重啟的方法

    這篇文章主要介紹了Unity編輯器下重啟的方法的相關資料,希望通過本文能幫助到大家,讓大家學習理解這部分內容,需要的朋友可以參考下
    2017-10-10
  • 老生常談C++的單例模式與線程安全單例模式(懶漢/餓漢)

    老生常談C++的單例模式與線程安全單例模式(懶漢/餓漢)

    下面小編就為大家?guī)硪黄仙U凜++的單例模式與線程安全單例模式(懶漢/餓漢)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12

最新評論

弥渡县| 湖州市| 东乡县| 芦溪县| 南皮县| 镇雄县| 嘉义市| 卢龙县| 汉阴县| 天台县| 慈溪市| 信丰县| 固始县| 新建县| 礼泉县| 仪陇县| 屏东市| 张掖市| 岑溪市| 东乡县| 高雄市| 醴陵市| 白山市| 安泽县| 合阳县| 扬州市| 聂拉木县| 南华县| 方城县| 微博| 丰顺县| 宜昌市| 宁河县| 诸暨市| 高州市| 麻阳| 长寿区| 化德县| 友谊县| 盐津县| 顺义区|