cb32a_c++_STL_算法_查找算法_(5)adjacent_find
cb32a_c++_STL_算法_查找算法_(5)adjacent_find
adjacent_find(b,e),b,begin(),e,end()
adjacent_find(b,e,p),p-parameter(谓词),函数,条件,规则.连续的两个符合条件的数据
adjacent_find() 算法可以用来搜索序列中两个连续相等的元素。
用 == 运算符来比较连续的一对元素,返回的迭代器指向前两个相等元素中的第一个。
如果没有一对相等的元素,这个算法返回这个序列的结束迭代器。
http://c.biancheng.net/view/576.html
如果是已序区间,可以使用已序区间的查找算法(效率高),比如:set和multiset_关联容器自动排序
binary_search()
includes()
lower_bound()
upper_bound()
*/
/*cb32a_c++_STL_算法_查找算法_(5)adjacent_find
adjacent_find(b,e),b,begin(),e,end()
adjacent_find(b,e,p),p-parameter(谓词),函数,条件,规则.连续的两个符合条件的数据
adjacent_find() 算法可以用来搜索序列中两个连续相等的元素。
用 == 运算符来比较连续的一对元素,返回的迭代器指向前两个相等元素中的第一个。
如果没有一对相等的元素,这个算法返回这个序列的结束迭代器。 http://c.biancheng.net/view/576.html 如果是已序区间,可以使用已序区间的查找算法(效率高),比如:set和multiset_关联容器自动排序
binary_search()
includes()
lower_bound()
upper_bound() */
#include <iostream>
#include <algorithm>
#include <vector> using namespace std;
bool doubled(int elem1, int elem2) //返回值是bool,就是谓词
{
return elem1 * == elem2;
} int main()
{
vector<int> ivec;
ivec.push_back();
ivec.push_back();
ivec.push_back();
ivec.push_back();
ivec.push_back();
ivec.push_back();
ivec.push_back();
for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
cout << *iter << ' ';
cout << endl; vector<int>::iterator pos;
pos = adjacent_find(ivec.begin(), ivec.end());//寻找两个连续相等的数
if (pos != ivec.end())
cout << "找到了,位置是:" << distance(ivec.begin(), pos) + << endl;
else
cout << "没有两个连续的相等的数" << endl; pos = adjacent_find(ivec.begin(), ivec.end(), doubled);//doubled就是谓词
if (pos != ivec.end())
cout << "找到了,符合doubled函数条件。位置是:" << distance(ivec.begin(), pos) + << endl;
else
cout << "没有两个连续的符合doubled函数条件" << endl; return ;
}
cb32a_c++_STL_算法_查找算法_(5)adjacent_find的更多相关文章
- 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 ...
- cb31a_c++_STL_算法_查找算法_(4)find_first_of
cb31a_c++_STL_算法_查找算法_(4)find_first_offind_first_of(b,e,sb,se),sb,second begin, se,second end();find ...
- cb30a_c++_STL_算法_查找算法_(3)search_find_end
cb30a_c++_STL_算法_查找算法_(3)search_find_endsearch()pos = search(ideq.begin(), ideq.end(), ilist.begin() ...
- cb29a_c++_STL_算法_查找算法_(2)search_n
cb29a_c++_STL_算法_查找算法_(2)search_n//比如:连续查找连续的n个8search_n(b,e,c,v),迭代器b,begin(),e,end().连续的c个vpos=sea ...
- cb28a_c++_STL_算法_查找算法_(1)find_find_if
cb28a_c++_STL_算法_查找算法_(1)find_find_iffind() //线性查找,比较慢.pos1 = find(ilist.begin(), ilist.end(), 5);fi ...
- STL_算法_查找算法(lower_bound、upper_bound、equal_range)
C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) //全部容器适用(O(log(n))) 已序区间查找算法 lower_bound() //找第一个符合的 ...
- STL_算法_查找算法(find、find_if)
C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) find . find_if /**********************线性查找O(n) find(); find_if ...
- STL_算法_查找算法(binary_search、includes)
C++ Primer 学习中.. . 简单记录下我的学习过程 (代码为主) 全部容器适用(O(log(n))) 已序区间查找算法 binary_search //二分查 ...
随机推荐
- Xftp远程连接出现“无法显示文件夹”的问题补充
网上有很多朋友出现相同的问题,各位热心网友都给出了自己的解决方案,其中大多数网友给出的解决方案都是:将Xftp更换成“被动连接模式”.但是很不幸的是,本人通过这种方式并没有得到有效的解决,网上的各大方 ...
- [Chrome插件开发]001.入门
Chrome插件开发入门 Chrome扩展文件 Browser Actions(扩展图标) Page Actions(地址栏图标) popup弹出窗口 Background Pages后台页面 实战讲 ...
- [Android应用开发] 02.界面展现和文件权限
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- [PHP学习教程 - 文件]002.修改上传文件大小限制(File Upload Limit)
引言:通常大家直装xampp之后,默认的文件上传大小应该被设定成2M左右,这个时候如果上传超过2M的东西,就会报错,让人非常尴尬.如何修改呢? 导航索引: 概念 FTP常用API FTP封装类 其他 ...
- nodejs安装及环境变量的配置
首先,nodejs安装到C盘的 建议安装到其他盘里,这是为了防止电脑出故障后C盘下载的东西会缺失 第一次安装nodejs的,第一步打开“nodejs官网:https://nodejs.org/zh-c ...
- Codeforces Round #646 (Div. 2)【B. Subsequence Hate题解】
具体思路已经在代码注释中给出,这里不再赘述. #include<iostream> #include<algorithm> using namespace std; int t ...
- java 单列集合总结
Collection 接口 add() remove() contains() clear(); size(); 迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度) List接口 单列集合 有序 ...
- 【Flutter组件终结篇】332个组件 658页PDF
老孟导读:历时1年的时间,整理完成了330+组件的详细用法,不仅包含UI组件,还包含了功能性的组件. 虽然整理了 330+的组件基本用法,但并不是让你每一个都学习一遍,任何技术基本都是掌握 20%就可 ...
- DevOps - 从渐进式交付说起(含实践 Demo)
作者:CODING - 王炜 1. 开篇 如果让你主导一款千万.甚至亿级用户产品的功能迭代,你会怎么做?你需要面对的挑战可能来自于: 商业战略的变化带来新的产品诉求,而产品的任何改动哪怕仅是界面调整, ...
- pip安装Python库速度慢的解决方法
最近在写大数据文本挖掘的考查报告,需要用到 jieba切词,于是在pycharm中安装 jieba 库 首先是在 File—settings中通过搜索安装,然而安了五分钟之后还是失败了 于是通过终端输 ...