2019独角兽企业重金招聘Python工程师标准>>>

//对字符串排序
#include<iostream>
#include<cstdlib>
#include<string.h>
#define N 8
using namespace std;
int compare(const void *a,const void *b);
int main(void)
{int i;char s[8][10]= {"January","February","March","April","May","June","July","September"};qsort(s,8,sizeof(char)*10,compare);for(i=0; i<8; i++)cout<<s[i]<<endl;return 0;
}
int compare(const void *a,const void *b)
{if(strlen((char *)a)!=strlen((char *)b))return strlen((char *)a)-strlen((char*)b);return (strcmp((char *)a,(char *)b));
}
//===============================================================
//对正型数组从小到大排序
#include<iostream>
#include<cstdlib>
#include<string.h>
using namespace std;
int compare(const void *a,const void *b);
int main(void)
{int i;int s[10] = {1,3,2,4,6,5,7,8,9,0};qsort(s,10,sizeof(int),compare);for(i=0; i<10; i++)cout<<s[i]<<endl;return 0;
}
int compare(const void *a,const void *b)
{if(*(int *)a != *(int *)b)return *(int *)a - *(int *)b;return 0;
}
//================================================================
//使用查找
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
int compare(const void *a,const void *b);
int main(void)
{int i;int s[10] = {1,3,2,4,6,5,7,8,9,0};//使用排序qsort(s,10,sizeof(int),compare);for(i=0; i<10; i++)cout<<s[i]<<endl;//使用二分查找int key = 5;int *p = (int *)bsearch(&key, s, 10, sizeof(int), compare);int pos = p - s;cout<<"bsearch pos = "<<pos<<endl;
/*//线性查找int tot_size = 10;key = 7;p = (int *)lsearch(&key, s, &tot_size, sizeof(int), compare);pos = p - s;cout<<"lsearch pos = "<<pos<<endl;
*/return 0;
}
//比较函数的实现
int compare(const void *a,const void *b)
{if(*(int *)a != *(int *)b)return *(int *)a - *(int *)b;return 0;
}

转载于:https://my.oschina.net/crooner/blog/221940

qsort(bsearch,lsearch)—标准库排序,查找相关推荐

  1. C++知识点32——使用C++标准库(关联容器set和multiset的初始化,赋值,查找,添加,删除与迭代器失效)

    关联容器map和multimap已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877和https://blog.csdn.ne ...

  2. C++知识点31——使用C++标准库(关联容器multimap及其初始化,赋值,查找,添加,删除与迭代器失效)

    关于关联容器map已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877中介绍完了 multimap和map非常类似,容器中的元 ...

  3. C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)

    一.关联容器简介 关于顺序容器和关联容器的区别已经在博客https://blog.csdn.net/Master_Cui/article/details/107427911中提过 C++标准库中的关联 ...

  4. C语言程序设计之标准库快速排序qsort函数用法示例

    C语言程序设计之标准库快速排序qsort函数,排序效率高,使用方便,太棒了. qsort函数定义如下: #include <stdlib.h>void qsort(void *base, ...

  5. C++拾取——使用stl标准库实现排序算法及评测

    今天看了一篇文章,讲各种语言的优势和劣势.其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义.这让它在专心研究算法的人中非常受欢迎.所以很多时候,语 ...

  6. C++标准库中各种排序归纳

    一.简介 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.我们在编程过程中会经常接触到排序,比如游戏中的排行榜等.C++标准库中提供了各种不同的排序算法,这篇博 ...

  7. c语言标准库低通的qsort函数不适宜所有排序任务的原因

    c语言标准库低通的qsort函数不适宜所有排序任务的原因: 第一:它只能用于内存中的数组排序,不能对链表中的数据排序: 第二:因为它是参数化的函数,所以能对各种数据进行操作,也造成它的运行速度比针对单 ...

  8. Python 标准库之 bisect 二分查找

    Python 标准库之 bisect 二分查找 文章目录 Python 标准库之 bisect 二分查找 一.二分查找法

  9. 中英文数字字符串排序(标准库)

    需求 对ui显示的表格进行排序,需支持中文字母排序,但是sqlite数据库不支持中文的拼音和笔画排序,这样就会导致排序中文显示顺序无规律.这个时候,就需要自己写一个排序功能,且排序支持中文拼音排序. ...

最新文章

  1. 项目微管理29 - 转正
  2. PG 9.4 行冻结信息的测试
  3. 为什么三层交换机无法替代路由器?
  4. 自定义函数_python3基础07函数(自定义)
  5. 【程序员自救指南】一个证书,让我哄好了小师妹
  6. curl and wget
  7. 谁与争锋-七款杀毒软件比较分析
  8. spring Beans初始化及配置
  9. bgr to rgb
  10. python 关于Python看金庸小说的实验
  11. “年少当攀第一流,恰如明月冠中秋”
  12. K-S检验两样本分布是否相同
  13. 开源图像数据集管理工具fiftyone使用
  14. 笔记本电脑触控板失灵解决办法
  15. 如何用快搭低代码平台搭建CRM、MES等系统
  16. 什么人适合学习嵌入式开发?
  17. 使用计算机需要准备硬件和什么,当个人计算机需要使用ADSL访问Internet时,所需的基本硬件设施是什么?...
  18. 搭档之家:柯达股价异常飙升,盘内23分钟暴涨79%迎五次熔断
  19. ubuntu kernel编译
  20. C语言面试考点之一(常见关键字)

热门文章

  1. 一篇文章助你理解Python3中字符串编码问题
  2. 使用log4Net 输出日志到mongodb
  3. Maven基础:Maven环境搭建及基本使用(1)
  4. Django学习笔记(4)
  5. 《转》CXF WebService 开发文档-目录索引
  6. application/x-www-form-urlencoded 与multipart/form-data
  7. python的开发环境有哪些系统_Win10下配置机器学习python开发环境
  8. python网络编程-socket编程
  9. ReactNative--React简介
  10. nginx汇总(z)