bsearch和qsort

原创 2005年03月03日 18:53:00
使用<stdlib.h>里的bsearch和qsort,比较函数的基本写法 
1,确定被比较对象的顺序关系; 
2,比较函数总用两个const void* 参数; 
3,在函数开始时将参数正确转换到指向数组元素类型的指针; 
4,在第一个参数大于、等于、小于第二个时分别返回1、0、-1; 
5,注意使用方式。 

--------------------------------------------------- 

例子:假定被排序的是整数数组。定义比较函数: 

int icmp(const void *p, const void *q){ 
    const int *m = p, *n = q; 
    return *m > *n ? 1 : (*m == *n ? 0 : -1); 


使用: 

int *p, a[] = {5, 6, 3, 28, 23, 34, 7, 9, 6, 14}, k = 7; 

int main () { 
    ... ... 
    qsort(a, sizeof(a)/sizeof(int), sizeof(int), icmp); 
    /* 这样,数组a的元素已经按照上升顺序排列好了 */ 

    p = bsearch(&k, a, sizeof(a)/sizeof(int), sizeof(int), icmp); 
    /* 指针p将指向数组a中元素7的位置 */ 

    ... ... 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

POJ 2503 Babelfish hash / qsort+ bsearch

题意:先输入字典,然后查词。(以输入空格为界) 题解:别忘了字符串二分查找 #include #include using namespace std; #define prime 10...
  • Tsaid
  • Tsaid
  • 2011-07-30 16:08
  • 523

二分查找函数bsearch与排序函数qsort(两个好基友)

这两个是非常实用的函数,我在做题时也学习了这些函数,从而方便了很多,现在就把这些知识跟大家分享一下,感谢百度百科与文科的资料提供。 一.函数名: bsearch   功 能: 二分法搜索 ...

qsort函数和bsearch函数的使用

1. qsort排序  [cpp] view plaincopyprint? /* qsort example */  #include    #include   &...

巧用bsearch--stanford CS107 assignment 2 总结

作为一个已经有CS硕士文凭的毕业生,回头来听别人牛逼学校大学基础CS课程,还听得津津有味,不得不说,很惭愧啊,看的过程总是在想,如果刚进大学的时候就接触到如此视频该有多好,假如国内哪个老师哪怕能原本照...

C/C++折半查找函数bsearch

头文件   1. 函数原型 void * bsearch(const void * key, const void * base, size_t num, size_t size, int (...

二分法bsearch函数使用简单介绍

在项目中经常使用到这个函数,方便简单。比如产品本身有产品ID,产品属性,生效时间,失效时间,订购时间。而产品的价格在另外一个表里,比如这个表里有这些字段,产品ID,定价计划ID,定价计划类型,产品价格...

二分法——查找、排序以及库函数bsearch的用法

虽然二分查找的效率高,但是要将表按关键字排序。而排序本身是一种很费时的运算。既使采用高效率的排序方法也要花费O(nlgn)的时间。   二分查找只适用顺序存储结构。为保持表的有序性,在顺序结构里插入...
  • dm520
  • dm520
  • 2011-03-28 13:45
  • 437

二分法——查找、排序以及库函数bsearch的用法

http://yorcool.com/paper.asp?papertype=news&titleid=56  二分法查找1、二分查找(Binary Search)     二分查找又称折半查找,它是...

poj 2503 bsearch

C语言中 bsearch 包含在头文件中,此函数可以根据你给的条件实现二分查找,如果找到元素则返回指向该元素的指针,否则返回NULL;对于有多个元素匹配成功的情况,bsearch()未定义返回哪一个。...

bsearch函数

Bsearch函数详解 函数名: bsearch   功 能: 二分法搜索   用 法: void *bsearch(const void *key, const void *base,si...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)