Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1125020
  • 博文数量: 241
  • 博客积分: 4385
  • 博客等级: 上校
  • 技术积分: 2383
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-07 23:13
文章分类

全部博文(241)

文章存档

2013年(1)

2012年(8)

2011年(62)

2010年(109)

2009年(61)

分类: C/C++

2009-10-06 21:21:17

#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
阅读(1770) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~