c语言标准库函数srt排序的介绍与使用

C语言标准库函数qsort排序的介绍与使用

2007-05-22 19:24

qsort函数包含在的头文件里。qsort函数声明如下:void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));参数说明如下:base: 要排序的数组nmemb: 数组中的元素数目size: 每个数组元素占用内存空间,可使用sizeof获得compar: 比较两个数组元素的比较函数。本比较函数的第一个参数值小于、等于、大于第二参数值时,本比较函数的返回值应分别小于、等于、大于零。也就说你要实现一个这样的函数(升序):int cmp(const void *a, const void *b)如果a > b,返回>0如果a == b, 返回0如果a < b,返回<0这里的a和b的关系仅仅是逻辑上的,并不是值比较,所以排序的可以不仅仅是数字,还可以是字符。一、对int类型数组排序int num[100];Sample:int cmp ( const void *a , const void *b){??? ??? return *(int *)a - *(int *)b;}qsort(num,100,sizeof(num[0]),cmp);对一个二维数组的进行排序:

int a[1000][2]; 其中按照a[i][0]的大小进行一个整体的排序,其中a[i][1]必须和a[i][0]一起移动交换。

qsort(a,1000,sizeof(int)*2,comp);

int comp(const void *a,const void *b){???? return ((int *)a)[0]-((int *)b)[0];}

二、对char类型数组排序(同int类型)char word[100];Sample:int cmp( const void *a , const void *b){??? ??? return *(char *)a - *(char *)b;}qsort(word,100,sizeof(word[0]),cmp);三、对double类型数组排序(特别要注意)double in[100];int cmp( const void *a , const void *b){??? ??? return *(double *)a > *(double *)b ? 1 : -1;}qsort(in,100,sizeof(in[0]),cmp);四、对结构体一级排序struct In{double data;int other;}s[100]//按照data的值从小到大将结构体排序,关于结构体内的排序关键数据data的类型可以很多种,参考上面的例子写int cmp( const void *a ,const void *b){??? ??? return (*(In *)a).data > (*(In *)b).data ? 1 : -1;}qsort(s,100,sizeof(s[0]),cmp);五、对结构体二级排序struct In{int x;int y;}s[100];//按照x从小到大排序,当x相等时按照y从大到小排序int cmp( const void *a , const void *b){struct In *c = (In *)a;struct In *d = (In *)b;if(c->x != d->x) return c->x - d->x;else return d->y - c->y;}qsort(s,100,sizeof(s[0]),cmp);六、对字符串进行排序struct In{int data;char str[100];}s[100];//按照结构体中字符串str的字典顺序排序int cmp ( const void *a , const void *b){??? ??? return strcmp( (*(In *)a).str , (*(In *)b).str);}qsort(s,100,sizeof(s[0]),cmp);七、计算几何中求凸包的cmpint cmp(const void *a,const void *b) //重点cmp函数,把除了1点外的所有点,旋转角度排序{st

srt文件解析 c语言,c语言标准库函数srt排序的介绍与使用.docx相关推荐

  1. C语言标准库函数qsort排序的介绍与使用

    qsort函数包含在<stdlib.h>的头文件里. qsort函数声明如下: void qsort(void *base, size_t nmemb, size_t size, int( ...

  2. 字体文件解析 c语言,如何正确地从C语言的文件中读取某些字符串?

    您试图从文件中读取的内容并不简单,但可以通过设置一个标志来处理,该标志告诉您是否已经看到 'a' 或 'b' ,跳过所有空白和 ':' 字符,将所有其他字符存储在缓冲区中,根据需要重新分配,然后在第二 ...

  3. 公网传输技术之SRT协议解析(上)

     点击上方"LiveVideoStack"关注我们 作者:张博力 编辑:Alex ▼扫描下图二维码或点击阅读原文▼ 了解音视频技术大会更多信息 " 摘  要:SRT协议( ...

  4. python 数据分析之 HTML文件解析

    python 数据分析之 HTML文件解析 一 :Html 1. Html 理解 2. Html 介绍 3. Html 构成 4. HTML结构 介绍 1> HTML文件结构 A: 文档类型声明 ...

  5. android str 字幕文件,视频显示字幕(解析srt文件)

    1.定义一个实体类 用于解析srt文件的内容 public class SRT { private int beginTime; private int endTime; private String ...

  6. dbc文件c语言解析标准,DBC文件解析CAN信息

    <DBC文件解析CAN信息>由会员分享,可在线阅读,更多相关<DBC文件解析CAN信息(15页珍藏版)>请在人人文库网上搜索. 1.DBCCAN数据包-基于CANAPE,打开C ...

  7. C语言标准库函数qsort( )——数据排序

    大家好!我是保护小周ღ,本期为大家带来的是深度解剖C语言标准库函数 qsort(),qsort()函数他可以对任意类型的数据排序,博主会详细解释函数使用方法,以及使用快速排序的左右指针法模拟实现函数功 ...

  8. c语言创建一个文件函数,c语言文件读写函数 用C语言的函数创建、打开和读写文件...

    C语言文件读写结构体里面的数据怎样存到磁盘文件上 c语言对同一个文件进行读写(r+) 编写程序,将文本文件c.txt中的所有小写字母转换成相应的大写字母,其他一.标准文件的读写 1.文件的打开 fop ...

  9. java解析五元组_pcap文件解析,并且按照五元组分类

    [实例简介] pcap文件解析,并按照五元组分包,全部用java语言实现. [实例截图] [核心代码] PcapTestZZ ├── PcapTestZ │   ├── 111.206.37.1930 ...

最新文章

  1. 开源库libuuid简介及使用
  2. ADOQuery代替ClientDataSet做3-Tier系统
  3. go struct{} 空结构体的特点和作用
  4. 图形化界面客户端连接phoenix操作hbase
  5. 《世界因你而不同-李开复自传》读书笔记(1/3)
  6. spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action
  7. 1018.eclipse工具使用记录
  8. 梯度消失、梯度爆炸及其解决方法
  9. PHP 8引入JIT支持,以提高CPU性能
  10. MySQL 5.6 rpm安装方法和碰见的问题
  11. stm32c语言arctan函数,超高速的反正切算法,纯整数运算
  12. ubuntu上的翻译软件,看论文神器
  13. Win11截图键无法使用怎么办?Win11截图键无法使用的解决方法
  14. Flash-制作空心文字
  15. 联想电脑u盘安装Linux,如何使用u盘安装linux系统
  16. 机器学习(四):决策树绘画(基础篇)
  17. 攻防演练怎样防止个人信息泄露
  18. 四个核心技术构成智能语音系统
  19. Markdown公式(二)
  20. 接收字符大写转化为对应的小写

热门文章

  1. 191210P4 Java富文本编辑之图片链接本地化
  2. 方便业务迁移,大型企业数据中心技术,学SDN必备的VXLAN大二层基础
  3. BIOS知识大全(转)
  4. 【Java基础】控制台打印日历
  5. 《React扩展知识一》setState更新状态2种写法/ lazyLoad / Fragment / Context / Hooks
  6. python读取数据画三维图_Python实现读取txt文件并画三维图
  7. 7-4 寻找250 (10分)
  8. 人活着的意义__2014思想篇
  9. 唐宇迪机器学习实战课程笔记(全)
  10. 薄荷英语---《心理学》20180823