#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v1;
int i, temp, x;
for (i = 0; i != 5; i++)
{//输入5个数到vector容器中
cin >> temp;
v1.push_back(temp);
}
cin >> x;//x是要查找的元素
auto iterBot = v1.begin();
auto iterTop = v1.end();
auto iterMid = v1.begin() + (iterTop - iterBot) / 2;//迭代器无加法运算
while (iterBot < iterTop)
{
if (*iterMid == x)
{//查找成功
cout << x << " is in the v1" << endl;
break;
}
else if (*iterMid < x)
iterBot = iterMid + 1;
else
iterTop = iterMid;
iterMid = iterBot + (iterTop - iterBot) / 2;//重新定位
}
if (iterBot >= iterTop)
cout << x << " is not in the v1" << endl;
system("pause");
return 0;
}
二分搜索法(迭代器实现)
最新推荐文章于 2022-03-18 20:52:54 发布