纯C语言写的折半查找

浏览:
字体:
发布时间:2013-12-23 12:22:26
来源:东方联盟
#include     int bin_search(int key[],int low, int high,int k)    {       int mid;       if(low>high)         return -1;       else	 {           mid = (low+high) / 2;           if(key[mid]==k)               return mid;           if(k>key[mid])               return bin_search(key,mid+1,high,k);        /*在序列的后半部分查找*/           else               return bin_search(key,low,mid-1,k);            /*在序列的前半部分查找*/        }   }      int main()   {       int n , i , addr;       int A[10] = {2,3,5,7,8,10,12,15,19,21};        printf("The contents of the Array A[10] are/n");        for(i=0;i<10;i++)           printf("%d ",A[i]);                                /*显示数组A中的内容*/        printf("/nPlease input a interger for search/n");        scanf("%d",&n);                                /*输入待查找的元素*/        addr = bin_search(A,0,9,n);        if(-1 != addr)                                /*查找成功*/           printf("%d is at the %dth unit is array A/n ",n,addr);        else 
	 printf("There is no %d in array A/n",n);            /*查找失败*/         getchar();         return 0;    }  

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 下载 | 关于东盟 | 安全雇佣 | 搞笑视频大全 | 微信学院 |
关于我们 | 联系我们 | 广告服务 | 人才招聘 | 服务条款 | 免责申明 | 帮助中心 | 作品发布 | 网站地图 | 技术培训
Copyright © 2007 - 2018 Vm888.Com. All Rights Reserved
东方联盟 版权所有