c++ STL find search
#include <iostream>
#include <algorithm>
#include <deque>
#include <list>
#include <vector>
#include <functional>
using namespace std;
//二元谓词
bool isEven(int elementParam, bool even)
{
if (even)
{
return elementParam % 2 == 0;
}
else
{
return elementParam % 2 == 0;
}
}
int main()
{
deque<int> deque1;
list<int> list1;
for (int k=0;k<10;k++)
{
deque1.insert(deque1.end(),k);
}
for (int k = 1; k<11; k++)
{
deque1.insert(deque1.end(), k);
}
for (int k = 3; k<10; k++)
{
deque1.insert(deque1.end(), k);
}
deque<int>::iterator deque_iter;
for (deque_iter = deque1.begin();deque_iter != deque1.end();++deque_iter)
{
cout << *deque_iter << " ";
}
cout << endl;
for (int k=4;k<10;k++)
{
list1.push_back(k);
}
list<int>::iterator list_iter1;
for (list_iter1 = list1.begin();list_iter1 != list1.end();++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
deque<int>::iterator deque_iter1;
deque_iter1 = search(deque1.begin(), deque1.end(), list1.begin(), list1.end());
while (deque_iter1 != deque1.end())
{
cout << "find ! element position:" <<distance(deque1.begin(),deque_iter1)+1<< endl;
++deque_iter1;
deque_iter1 = search(deque_iter1, deque1.end(), list1.begin(), list1.end());
}
cout << "------------------------------------------------" << endl;
vector<int> vector1;
for (int k=0;k<10;k++)
{
vector1.push_back(k);
}
vector1.push_back(10);
vector1.push_back(12);
vector1.push_back(14);
vector<int>::iterator vector_iter1;
for (vector_iter1 = vector1.begin();vector_iter1 != vector1.end();++vector_iter1)
{
cout << *vector_iter1 << " ";
}
cout << endl;
bool checkEventArgs[3] = { true,false,true };
vector<int>::iterator vector_iter2;
vector_iter2 = search(vector1.begin(), vector1.end(),checkEventArgs,checkEventArgs+3, isEven);
if (vector_iter2 != vector1.end())
{
cout << "find:" << *vector_iter2 << endl;
}
else
{
cout << "not find.." << endl;
}
system("pause");
return 0;
}
=====================================================
0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9
4 5 6 7 8 9
find ! element position:5
find ! element position:14
find ! element position:22
------------------------------------------------
0 1 2 3 4 5 6 7 8 9 10 12 14
find:10
请按任意键继续. . .

c++ STL find search的更多相关文章
- stl binary search
stl binary search */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&q ...
- STL之search
描述 使用STL中的search函数,判断一个序列是否是另一个序列的子序列. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { vector<int> ...
- leetcode@ [34] Search for a Range (STL Binary Search)
https://leetcode.com/problems/search-for-a-range/ Given a sorted array of integers, find the startin ...
- C++ STL Binary search详解
一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返回值,关于区间的左闭右开等很容易出错,最近做题发现直接使用STL中的二分函数方便快捷还不会出错,不过对于没有接触过的同学,二分函 ...
- STL 简介,标准模板库
这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...
- STL中list用法
本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂.不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函 ...
- STL list链表的用法详解
本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂.不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函 ...
- list用法详解
在这里感谢大牛们的奉献!此致敬礼! 本文转载自百度文库.作者如下.其中下面的count, count_if等函数的使用有些陈旧,如在编译时遇到问题,请百度. 标准模板库(STL)介绍 作者:Scott ...
- AwesomePerfCpp 性能优化
Contents Talks Articles Sites/Blogs Tools Libraries Books About Talks 2013: Going Native 2013 - Andr ...
随机推荐
- 微软Surface低端版本将问世
平板电脑现如今已走进千家万户,其触屏的操作相比笔记本电脑更加方便,屏幕也比手机大很多,是家用玩机的首选.虽然微软也在这一领域有所发力,推出了Surface这一产品,但其高昂的售价使得其在市场上的表现并 ...
- Mac中设置网络优先级
- HTML块级元素与行内元素的区别
块级元素:块级大多为结构性标记 <address>...</adderss> <center>...</center> 地址文字 <h1>. ...
- TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案。
一.TCP通信测试: 1) 创建TCP Server: 选中左方的TCP Server, 然后点击”创建”按钮,软件弹出监听端口输入框 输入监听端口后,即创建了一个在指定端口上进行监听的TCP S ...
- java-集合处理数据的效率差异
先给结论,ArrayList数组结构的,插入和删除耗时长,get(index)耗时短. LinkedList是链表结构的,插入和删除耗时短,get(index)耗时长. 常用的几种集合,ArrayLi ...
- WebRequest与WebResponse抽象类,DNS静态类、Ping类
一.概述 1.WebRequest: 对统一资源标识符 (URI) 发出请求. 这是一个 abstract 类. WebRequest的派生类:PackWebRequest.FileWebReques ...
- django中非菜单权限的归属
非菜单权限的归属 : 1.设置表结构 : 在权限表中添加自连接的外键patent,parent_id连接permission表的id,可为空,当有parent_id时,说明它是一个普通 ...
- C语言学习系列(四)C语言基本语法和数据类型
一.基本语法 C的令牌(Tokens) C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号. 关键字(保留字) auto else long switch break e ...
- ITextSharp开源PDF处理库
1:官方完整开源项目 http://sourceforge.net/projects/itextsharp/ 2:使用NUGET :> install-package itextsharp
- 【题解】狼和羊-C++
Description 米基家的后院养着一群羊,米基由于疲劳睡着了,这时一群饿狼钻进了后院开始攻击羊群,后院是由许多个方格构成的长方形区域,每个方格中用字符'?'表示空地,'#'表示栅栏,'o'表示羊 ...