A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ff774411 中级黑马   /  2015-10-7 11:43  /  646 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

与大家共享下

  1. //  main.c
  2. //  二分查找
  3. //

  4. #include <stdio.h>
  5. #define LEN 6
  6. void printArray(int a[],int l){
  7.     for (int i=0;i<l;i++){
  8.         printf("%d ",a[i]);}}
  9. int binsearch(int x,int v[],int n){
  10.     int low,high,mid;
  11.     low=0;
  12.     high=n-1;
  13.     while (low<=high) {
  14.         mid=(low+high)/2;
  15.         if(x<v[mid]){
  16.             high=mid-1;
  17.         }else if (x>v[mid]){
  18.             low=mid+1;
  19.         }else{
  20.             return mid;
  21.         }
  22.     }
  23.            return -1;
  24. }

  25.   int main(int argc,const char *argv[]){
  26.          int scores[ ] ={50,60,70,80,90,100};
  27.             int r=binsearch(80,scores,6);
  28.             printf("r=%d\n",r);
  29.             
  30.             
  31.         }

复制代码



1 个回复

倒序浏览
折半查找
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马