码迷,mamicode.com
首页 > 其他好文 > 详细

最小二分法

时间:2015-12-07 00:43:39      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:include   二分法   

#include <stdio.h>
int binsearch(int x, int v[], int n)
{
 int left = 0;
 int right = n - 1;
 while (left <= right)
 {
  int mid = (left + right)/2;
  if (v[mid] < x)
  {
   left = mid + 1;
  }
  else if (v[mid] == x)
  {
   return mid;
  }
  else
  {
   right = mid - 1;
  }
 }
 return -1;
}
int main()
{
 int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 int key = 0;
 int sz = sizeof(arr) / sizeof(arr[0]);
 scanf("%d", &key);

 int ret = binsearch(key, arr, sz);
 if (ret == -1)
 {
  printf("not exist\n");
 }
 else
 {
  printf("%d\n", ret);
 }
 system("pause");
 return 0;
}

最小二分法

标签:include   二分法   

原文地址:http://10942013.blog.51cto.com/10932013/1720144

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!