Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36634
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-30 10:33
个人简介

站在巨人的肩膀上

文章分类

全部博文(21)

文章存档

2016年(21)

我的朋友
最近访客

分类: C/C++

2016-06-08 15:55:15

原文地址:二分查找法(递归) 作者: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
阅读(1017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~