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的位置 */ 

    ... ... 


利用c语言的qsort与bsearch实现排序与查找

//注意在使用bsearch之前必须是已经排序好了的 #include "stdafx.h" #include #include using namespace std; typedef s...
  • u010273007
  • u010273007
  • 2017年03月19日 14:41
  • 397

使用qsort排序结构体数组,使用bsearch查询结构体数组

// 使用qsort排序结构体数组,使用bsearch查询结构体数组 //函数名:qsort //功  能:使用快速排序例程进行排序 //头文件:stdlib.h //用  法:void qsort(...
  • dgyanyong
  • dgyanyong
  • 2013年11月21日 11:31
  • 1875

qsort()sort()bsearch()

一、qsort 函数与sort 函数 1.qsort 函数 #include 函数原型 void qsort( void *base, size_t num, size_t width, int (...
  • to_flydream
  • to_flydream
  • 2016年12月08日 21:37
  • 176

qsort与bsearch的cmp(转)

http://www.cppblog.com/prayer/archive/2010/09/07/126093.html qsort函数声明如下: void qsort(voi...
  • mydriverc2
  • mydriverc2
  • 2015年06月26日 08:52
  • 246

快速排序与折半查找算法函数:qsort与bsearch

qsort用来排序,bsearch用二分法来查找元素 void qsort( void *base, size_t num, size_t width,int (__cdecl *compare)(...
  • heron804
  • heron804
  • 2013年04月21日 11:41
  • 1177

qsort函数和bsearch函数详解

 qsort包含在头文件中,此函数根据给的比较条件进行快速排序,排序之后的结果仍然放在原数组中,需要自己写一个比较函数。 函数原型: void qsort ( void * base, si...
  • anhuibozhoushatu
  • anhuibozhoushatu
  • 2016年08月27日 14:40
  • 141

函数 qsort 和 bsearch 的用法(poj2503)

c函数qsort()和bsearch()的用法 使用qsort()排序 并 用 bsearch()搜索是一个比较常用的组合,使用方便快捷。 qsort 的函数原型是void __cdecl qsort...
  • tenlee
  • tenlee
  • 2014年07月21日 11:07
  • 391

qsort函数和bsearch函数的使用

1. qsort排序  [cpp] view plaincopyprint? /* qsort example */  #include    #include      int valu...
  • u011111528
  • u011111528
  • 2013年08月02日 19:25
  • 588

C++ 中库函数bsearch的简单研究(含示例)

/**//*bsearch函数声明如下: void *bsearch(const void *key, const void *base, size_t *nelem,            ...
  • lgh1992314
  • lgh1992314
  • 2013年09月01日 08:16
  • 1093

qsort bsearch 函数用法 小例

bsearch 二分法 用 法: void *bsearch(const void *key, const void *base, size_t nelem, size_t width, i...
  • linbounconstraint
  • linbounconstraint
  • 2014年08月04日 18:36
  • 342
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bsearch和qsort
举报原因:
原因补充:

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