C语言search函数的作用,C语言中库函数自带的查找函数bsearch
之前查看qsort函数的时候无意间看到了一个C语言内置的查找函数bsearch.
#include
void *bsearch( const void *key, const void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );
功能:函数用折半查找法在从数组元素buf[0]到buf[num-1] 匹配参数key。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。数组buf 中的元素应以升序排列。函数bsearch()的返回值是指向匹配项,如果没有发现匹配项,返回NULL。
下面是我的测试代码:
#include
#include
#include
int compare(const void *value1, const void *value2);
int main(int argc, char const *argv[])
{
int size = 0;
scanf("%d", &size);
assert(size > 0);
int *array = (int *)calloc(size, sizeof(int));
int i = 0;
for (i = 0; i < size; ++i) {
scanf("%d", &array[i]);
}
//由于二分查找需要在查找数组有序的情况下才能正确的工作,
//所以这里先调用qsort函数进行排序
qsort(array, size, sizeof(int), compare);
int key = 0;
printf("input the key:");
scanf("%d", &key);
int *pointer = (int *) bsearch(&key, array, size, sizeof(int), compare);
if (pointer != NULL) {
printf("find the key: %d\n", *pointer);
// printf("pointer: %d\n", pointer);
} else {
printf("cannot find the key: %d\n", key);
}
free(array);
return 0;
}
int compare(const void *value1, const void *value2)
{
return *(int *)value1 - *(int *)value2;
}
C语言search函数的作用,C语言中库函数自带的查找函数bsearch相关推荐
- c语言中各种函数的作用,C语言常用函数用法大全
C语言是当中广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率高的计算机语言,既能完成上层应用开发,也能完成底层硬件驱 ...
- c语言inline不起作用,C语言inline内联函数学习小结
//inline(内联)函数:将普通的函数定义为inline函数,可以避免普通函数入栈出栈的开销,它是将函数内的代码直接粘贴到调用处.除此之外,它和普通函数无异. //要成为inline函数必须具备以 ...
- C语言中perm函数的作用,C语言中有关处理系统时间的知识
<C语言中有关处理系统时间的知识>由会员分享,可在线阅读,更多相关<C语言中有关处理系统时间的知识(9页珍藏版)>请在人人文库网上搜索. 1.C语言中有关处理系统时间的知识C语 ...
- c语言中min函数的作用,C语言库函数
C语言库函数是把自定义函数放到库里,是别人把一些常用到的函数编完放到一个文件里,供程序员使用.程序员用的时候把它所在的文件名用#include<>加到里面就可以了(尖括号内填写文件名),例 ...
- python map函数的作用_python语言基础之map函数,urlib.request,多线程
1.map函数 map 是 Python 自带的内置函数,它的作用是把一个函数应用在一个(或多个)序列上,把列表中的每一项作为函数输入进行计算,再把计算的结果以列表的形式返回. map 的第一个参数是 ...
- sleep函数的作用c语言,C语言中的sleep函数是什么意思【详细介绍】
计算机知识:C语言中的Slee函数 Sleep函数简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned milliseconds); 在V ...
- c语言程序头文件作用,C语言头文件
C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...
- c语言的应用与作用,C语言主要应用在什么地方?
C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围 ...
- C语言结构标记的作用,C语言基础知识之词法符号
任何高级语言都有自定义的词法符号和支持的数据类型. 词法符号是语言的基本组成单位,数据类型是数据的基本属性.这里我将先对C语言的C法符号做一个小的总结,既是对我自己C语言的一个系统的整理与提高,也希望 ...
- c语言eof不起作用,c语言程序设计 怎么以输入EOF结束
EOF(EndOfFile)是C语言中的文件结束标志符.当C语言输入函数获取到文件结尾标志时,会通过返回值的方式体现该值.所以要以输入EOF为结束,就需要判断输入函数的返回值.EOF定义在stdio. ...
最新文章
- 谈asp.net解决方案的项目生成时的输出路径
- 【POJ】1505 Copying Books
- Intel 公开安全新特性:CET
- 云炬随笔20210819
- 创建vue项目(二)引入elementUi、axios、准备静态资源、封装组件(.vue,js代码等)
- 基于GitHub创建自己的个人网站
- 最大流与最小割Maximum Flow and Minimum Cut
- 如何删除PPT中自带的切换动画?
- mantis修改mysql端口_mantis配置邮件服务-465端口
- 日式卡通渲染的效果的unity实现
- IOS 获取农历节日 节气
- html课堂考勤系统源码,考勤管理系统课程设计源码
- python中的date的含义_浅谈python中的dateime
- 《水经注地图服务》下载与安装步骤
- 为什么你要拒绝我(苹果AppStore被拒理由大全)
- 夏天晚上睡觉点蚊香对身体有害?+几招防蚊、驱蚊办法
- K2数据库database
- 模拟开关CD4051使用的4个要点
- mailbox unavailable
- Python打印杨辉三角-生成器语法yield的理解