查找-6

//查找之前必须排序,排序完了之后才可以使用
//已序区间查找算法
#include<iostream>
#include<algorithm>
#include<list>
#include<vector>

using namespace std; 

int main()
{
	list<int> ilist;
	for (int i = 0; i <= 9; ++i)
		ilist.insert(ilist.end(), i);
	for (auto iter = ilist.begin(); iter != ilist.end(); ++iter)
		cout << *iter << " ";
	cout << endl;

	//直接进行二分查找
	binary_search(ilist.begin(), ilist.end(), 5);//返回值是个bool,只会告诉我们找到了没找到,不会告诉我们位置信息
	if (binary_search(ilist.begin(), ilist.end(), 5))
		cout << "ok" << endl;
	//上述只会返回布尔值,如果想知道位置要用以下函数
	vector<int> search;

	search.push_back(3);
	search.push_back(4);
	search.push_back(7);//在list找3 4 7

	if (includes(ilist.begin(), ilist.end(), search.begin(), search.end()))
		cout << "ok" << endl;
	else
		cout << "error" << endl;

    system("pause");
	return 0;
	
}

猜你喜欢

转载自blog.csdn.net/weixin_42655231/article/details/82800992