linux c 库函数 qsort 和bsearch
来源:互联网 发布:windows service pack 编辑:程序博客网 时间:2024/06/05 12:03
函数原型:void qsort(void *base, size_t nmemb, size_t size,
int(*compar)(const void *,const void *));
base:要查找数组的首地址
nmemb:数组元素个数
size:元素大小
compare:回调函数,指明两个元素比较的方法。
例子:
#include <stdio.h>
int compar( const void* a, const void *b )//以升序排序
{
return *(int*)a-*(int*)b;
}
int main( int argc, char* argv[] )
{
int a[] = {10,2,6,1,8,5,7,3,4,18,20,24,-1};
qsort(a,sizeof(a)/sizeof(int),sizeof(int),compar);
int i;
for( i=0; i< sizeof(a)/sizeof(a[0]) ;i++)
{
printf("%d:%d\n",i,a[i]);
}
}
bsearch:
函数原型:void*bsearch(const void *key, const void *base, size_t nmemb,
size_t size, int (*compar)(constvoid *, const void *));
key:搜索关键字
base:数组起始地址
nmemb:数组大小
size:数组元素大小
compare:回调函数,用于比较两个关键字
例子:
#include <stdio.h>
#include <stdlib.h>
int compar( const void *a1,const void *a2 )
{
return*((int *)a1) - *((int*)a2);
}
int main( int argc,char* argv[] )
{
if( argc!= 2 )
{
printf("error\n");
return-1;
}
int a[] ={1,2,3,4,5,6,7,8};
int i = atoi(argv[1]);
int *position=NULL;
position= bsearch( &i,a,sizeof(a)/sizeof(a[0]),sizeof(a[0]),compar);
if(position == NULL )
{
printf("cannot find the key\n");
}
else
{
printf("Findthe key:%d,in position:%d\n",i,position-a);
}
}
- linux c 库函数 qsort 和bsearch
- bsearch和qsort
- qsort和bsearch
- C语言提供搜索(bsearch)和排序(qsort)的函数
- 备忘——C标准库中的qsort和bsearch
- qsort和bsearch的使用
- qsort和bsearch的运用
- C&C++中的qsort和sort库函数
- qsort&&bsearch
- C语言标准函数 qsort() bsearch()
- C语言库函数qsort
- 函数qsort()和bsearch()的用法
- qsort函数和bsearch函数的使用
- qsort函数和bsearch函数的使用
- qsort函数和bsearch函数的使用
- qsort函数和bsearch函数详解
- C语言标准库函数bsearch 详解
- C/C++ 库函数 二分查找 bsearch
- 动态Action跳转实现
- PKU-MyInt和HugeInt作业-程设hw03
- Apache的Order Allow Deny心得
- volatile关键字
- 家具更新
- linux c 库函数 qsort 和bsearch
- firewall参考网站2
- 中山大学信科院2011年复试题目
- malloc()函数调用失败
- HBase安装过程
- 执行环境及作用域
- Mysql源代码阅读笔记(六)命令汇总
- Android 异常处理:java.lang.IllegalArgumentException(...contains a path separator)
- Mldonkey