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

递归折半查找

时间:2015-04-23 22:56:32      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
using namespace std;
int FindX(int*list, int left, int right, int X);
int main(){
int a[12] = { 1, 2, 5, 7, 12, 34, 35, 46, 57, 58, 67, 78 };
cout << FindX(a, 0, 11,67) << endl;
return 0;
}
int FindX(int*list, int left, int right, int X){
/*找到就返回下标,否则返回-1*/
if (right > left)
return -1;
int center = (right+left) / 2;
if (list[center] == X)
return center;
else if (X < list[center])
FindX(list, left, center - 1, X);
else{
FindX(list, center + 1, right, X);
}
}

递归折半查找

标签:

原文地址:http://www.cnblogs.com/td15980891505/p/4451840.html

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