C++学习篇:使用迭代器实现二分法查找

#include <iostream>
#include <string>
#include <vector>
using namespace std;

//使用迭代器完成二分搜索
int main()
{
	vector<string> text;
	auto beg = text.begin(), end = text.end();         //beg和end是要搜索的范围
	auto mid = text.begin() + (end - beg) / 2;		   //初始状态下的中间点
	while (mid != end && *mid != sought)
	{
		if (sought < *mid)                             //这里的sought未定义,可以自行定义
			end = mid;
		else
			beg = mid + 1;
		mid = beg + (end - beg) / 2;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42373896/article/details/121050999