C语言,二分法查找无序的一维数组中的一个元素,输出其位置

C语言,二分法查找无序的一维数组中的一个元素,输出其位置。用调用函数。... C语言,二分法查找无序的一维数组中的一个元素,输出其位置。用调用函数。 展开
 我来答
物理公司的
推荐于2016-06-30 · TA获得超过5696个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1378万
展开全部

如果是无序的,需要排序

#include <stdio.h>
int binSearch(int, int, int);
main()
{
   int i, n = 10, x = 7;
   int a[10];
   for(i=0;i<n;i++)
   {
      scanf("%d",&a[i]);
   }
   //排序略
   binSearch(x,a,n));
   
   return 0;
}

int binSearch(int x, int a[], int n)
{
   int low, high, mid;
   low = 0;
   high = n-1;
   while(low <= high)
   {
      mid = (low + high) / 2;
      if(x < a[mid])
  high = mid - 1;
  else if(x > a[mid])
  low = mid + 1;
  else
  return mid;
   }
   return -1;
}
潮汐之涌动
2014-12-24 · TA获得超过439个赞
知道小有建树答主
回答量:287
采纳率:100%
帮助的人:159万
展开全部
二分查找的前提是有序表,无序的数组怎找???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式