BSEARCH.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:1k
源码类别:

界面编程

开发平台:

C/C++

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. int compare_int(int *a, int *b)
  4.  {
  5.    return(*a - *b);
  6.  }
  7. int compare_float(float *a, float *b)
  8.  {
  9.    return((*a == *b) ? 0: 1);
  10.  }
  11. void main(void)
  12.  {
  13.    int int_values[] = {1, 3, 2, 4, 5}; 
  14.    float float_values[] = {1.1, 3.3, 2.2, 4.4, 5.5};  
  15.    
  16.    int *int_ptr, int_value = 2, elements = 5;
  17.    float *float_ptr, float_value = 33.3;
  18.    int_ptr = bsearch(&int_value, int_values, 
  19.       elements, sizeof(int), 
  20.       (int (*) (const void *, const void *)) compare_int);
  21.    if (*int_ptr)
  22.      printf("Value %d foundn", int_value);
  23.    else 
  24.      printf("Value %d not foundn", int_value);
  25.    float_ptr = bsearch(&float_value, float_values, 
  26.      elements, sizeof(float), 
  27.      (int (*) (const void *, const void *)) compare_float);
  28.    
  29.    
  30.    if (*float_ptr)
  31.      printf("Value %3.1f foundn", float_value);
  32.    else 
  33.      printf("Value %3.1f not foundn", float_value);
  34.  }