您的位置:首页 > 理论基础 > 数据结构算法

c++数据结构——迭代的折半查找

2019-06-09 18:24 295 查看

迭代的折半查找(二分查找):适用于已经排序好的数据。

[code]#include <iostream>
using namespace std;
int binarysearch(int *list, const int n, const int x);
int main()
{
int a[] = { 1,2,3,4,5,6,8,9,11,23 };
int b;
b = binarysearch(a, 10, 50);
if (b == -1)
cout << "没找到" << endl;
else
cout << "a[" << b << "]=" << a[b] << endl;
return 0;
}
int binarysearch(int *list, const int n, const int x)
{
int low=0, high=n-1, mid;
while (low <= high)
{
mid = (low + high) / 2;
if (list[mid] == x)
return mid;
else if (list[mid] < x)
low = mid + 1;
else if (list[mid] > x)
high = mid - 1;
}
return -1;
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: