Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542682
  • 博文数量: 252
  • 博客积分: 1068
  • 博客等级: 少尉
  • 技术积分: 1775
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-05 21:33
文章分类

全部博文(252)

文章存档

2013年(21)

2012年(231)

分类:

2012-06-04 14:39:14

原文地址:二分查找法(递归) 作者:kevin33643

#include
#include
using namespace std;
 
int HalfSearch(const vector &a, const int& x, int low, int high)
{
 if(low > high)
  return -1;
 
 int mid = (low + high)/2;
 cout<<(char)a[mid]< if(a[mid] < x)
  return HalfSearch(a, x, mid + 1, high);
 else if(a[mid] > x)
  return HalfSearch(a, x, low, mid - 1);
 else
  return mid;
}

int Search(const vector& a, const int& x)
{
 return HalfSearch(a, x, 0, a.size() - 1);
}
 
void main()
{
 vector v;
 v.push_back('b');
 v.push_back('c');
 v.push_back('d');
 v.push_back('e');
 v.push_back('f');
 v.push_back('g');
 v.push_back('h');
 v.push_back('i');
 v.push_back('j');
 v.push_back('k');
 Search(v, 1);
}
打印结果:f c b
阅读(551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~