免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2503 | 回复: 1
打印 上一主题 下一主题

[C] c写的一个折半查找函数,代码有错误吗? [复制链接]

论坛徽章:
24
金牛座
日期:2013-08-21 07:55:52射手座
日期:2014-09-29 15:36:14摩羯座
日期:2014-10-07 21:42:57天秤座
日期:2014-10-16 10:03:00午马
日期:2014-10-19 13:40:31酉鸡
日期:2014-11-08 08:44:54处女座
日期:2014-11-10 17:01:21午马
日期:2014-12-06 16:52:38羊年新春福章
日期:2015-02-12 17:41:512015年迎新春徽章
日期:2015-03-04 09:58:1115-16赛季CBA联赛之广夏
日期:2022-10-07 19:41:11巳蛇
日期:2014-09-13 15:29:54
1 [报告]
发表于 2014-11-06 18:58 |显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int binsearch(int x, int v[], int n)
  4. {
  5.     int low, high, mid;
  6.    
  7.     low = 0;
  8.     high = n-1;
  9.     while(low < high) {
  10.         mid = (low + high) / 2;
  11.         if(x <= v[mid])
  12.             high = mid;
  13.         else
  14.             low = mid+1;
  15.     }
  16.     return (x == v[low]) ? low : -1;
  17. }

  18. int main(int argc, char *argv[])
  19. {
  20.     int v[5] = {3, 6, 9, 12, 4};
  21.     int x = 36;
  22.     printf("%d\n", binsearch(x, v, 5));
  23.     return EXIT_SUCCESS;
  24. }
复制代码

论坛徽章:
24
金牛座
日期:2013-08-21 07:55:52射手座
日期:2014-09-29 15:36:14摩羯座
日期:2014-10-07 21:42:57天秤座
日期:2014-10-16 10:03:00午马
日期:2014-10-19 13:40:31酉鸡
日期:2014-11-08 08:44:54处女座
日期:2014-11-10 17:01:21午马
日期:2014-12-06 16:52:38羊年新春福章
日期:2015-02-12 17:41:512015年迎新春徽章
日期:2015-03-04 09:58:1115-16赛季CBA联赛之广夏
日期:2022-10-07 19:41:11巳蛇
日期:2014-09-13 15:29:54
2 [报告]
发表于 2014-11-06 21:43 |显示全部楼层
回复 5# 1210603696


为啥
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP