C++ STL 已序区间查找算法
#include <iostream>
#include <algorithm>
#include <list>
#include <functional>
#include <vector>
using namespace std;
//已序区间查找
int main()
{
list<int> list1;
for (int k = 0; k < 10; k++)
{
list1.insert(list1.end(), k);
}
list<int>::iterator list_iter1;
for (list_iter1 = list1.begin(); list_iter1 != list1.end(); ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
list<int>::iterator list_iter2;
bool isFound = binary_search(list1.begin(), list1.end(), 5);
if (isFound)
{
cout << "found element..." << endl;
}
else
{
cout << "not found..." << endl;
}
cout << "---------------------------------" << endl;
vector<int> vec1;
for (int k=4;k<8;k++)
{
vec1.push_back(k);
}
//includes 查找不用连续,如果查找连续,用search
bool isFound2 = includes(list1.begin(), list1.end(), vec1.begin(), vec1.end());
if (isFound2)
{
cout << "found element..." << endl;
}
else
{
cout << "not found..." << endl;
}
cout << "---------------------------------------------------" << endl;
vec1.push_back(56);
bool isFound3 = includes(list1.begin(), list1.end(), vec1.begin(), vec1.end());
if (isFound3)
{
cout << "found element..." << endl;
}
else
{
cout << "not found..." << endl;
}
system("pause");
return 0;
}
===================================================
0 1 2 3 4 5 6 7 8 9
found element...
---------------------------------
found element...
---------------------------------------------------
not found...
请按任意键继续. . .
C++ STL 已序区间查找算法的更多相关文章
- STL学习笔记(已序区间算法)
针对已序区间执行的算法,执行前提是源区间必须在某个排序准则下已序. 搜寻元素(Searching) 1.检查某个元素是否存在 bool binary_search(ForwardIterator be ...
- STL_算法_查找算法(lower_bound、upper_bound、equal_range)
C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) //全部容器适用(O(log(n))) 已序区间查找算法 lower_bound() //找第一个符合的 ...
- STL_算法_查找算法(binary_search、includes)
C++ Primer 学习中.. . 简单记录下我的学习过程 (代码为主) 全部容器适用(O(log(n))) 已序区间查找算法 binary_search //二分查 ...
- C++ STL之查找算法
C++STL有好几种查找算法,但是他们的用法上有很多共同的地方: 1.除了binary_search的返回值是bool之外(查找的了返回true,否则返回false),其他所有的查找算法返回值都是一个 ...
- 从零开始学C++之STL(四):算法简介、7种算法分类
一.算法 算法是以函数模板的形式实现的.常用的算法涉及到比较.交换.查找.搜索.复制.修改.移除.反转.排序.合并等等. 算法并非容器类型的成员函数,而是一些全局函数,要与迭代器一起搭配使用. 算法的 ...
- STL_算法_查找算法(find、find_if)
C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) find . find_if /**********************线性查找O(n) find(); find_if ...
- cb34a_c++_STL_算法_查找算法_(7)_lower_bound
cb34a_c++_STL_算法_查找算法_(7)_lower_bound//针对已序区间的查找算法,如set,multiset关联容器-自动排序lower_bound()--第一个可能的位置uppe ...
- cb33a_c++_STL_算法_查找算法_(6)binary_search_includes
cb33a_c++_STL_算法_查找算法_(6)binary_search_includes//针对已序区间的查找算法,如set,multiset关联容器-自动排序binary_search(b,e ...
- cb32a_c++_STL_算法_查找算法_(5)adjacent_find
cb32a_c++_STL_算法_查找算法_(5)adjacent_findadjacent_find(b,e),b,begin(),e,end()adjacent_find(b,e,p),p-par ...
随机推荐
- CentOS7安装CDH 第六章:CDH的管理-CDH5.12
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- Route Loops
当网络10.4.0.0发生故障时,RouterC检测到故障,并停止其E0接口的路由报文. 然而,路由器A和B还没有收到失败的通知. 路由器A仍然认为可以通过路由器B访问10.4.0.0.路由器A的路由 ...
- Django drf:认证及组件、token、局部钩子源码分析
一.drf认证功能 二.token讲解 三.局部钩子源码分析 一.drf认证功能 1.认证简介: 只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录则不能查 ...
- 用js刷剑指offer(调整数组顺序使奇数位于偶数前面)
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 牛客网链接 js代码 ...
- n诺挑战赛5题解
Drinking 题意:就是给你n瓶酒的初始伤害值,第几天喝这瓶酒伤害值就是这瓶酒的初始伤害值第几倍,而且他每天喝的瓶数不超过m.要你输出所有的情况,就是他喝(1~n)瓶的伤害值的最小, 思路:就是这 ...
- Web服务器主动推送技术
HTTP协议遵循经典的客户端-服务器模型,客户端发送一个请求,然后等待服务器端的响应,服务器端只能在接收到客户端的请求之后进行响应,不能主动的发送数据到客户端. 客户端想要在不刷新页面的情况下实时获取 ...
- 从c到c++<三>
引用是给一个变量起别名回顾下变量,它有这两个属性:名称和空间.而引用不是变量,它仅仅只是变量的别名,没有自己的独立空间,需要与它所引用的变量共享空间,所以对于引用所做的改变实际上是对它所引用的变量的改 ...
- 写点恐怖小说为自己打call
https://github.com/zhangbo2008/TryingWriteHorrorStory
- Windows Dialog对话框
一.MessageBox弹出框 MessageBox.Show(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon ...
- SQL 删除重复记录,只保留一条记录
DELETE FROM py_bond_shenzhen_exchange_opinion_2_1 WHERE id NOT IN (SELECT id FROM (SELECT min(id) AS ...