#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
请按任意键继续. . .

最新文章

  1. 下载判断Android和iOS
  2. golang中的类和接口的使用
  3. 大数据系列(1)——Hadoop集群坏境搭建配置
  4. c语言中static的用法,包括全局变量和局部变量用static修饰
  5. jquery基本选择器id
  6. no-jquery 03 Ajax
  7. WPFの静态资源(StaticResource)和动态资源(DynamicResource)
  8. ORA-01084: OCI 调用中的参数无效
  9. foreach的指针问题
  10. 使用urllib2的HttpResponse导致内存不回收(内存泄漏)
  11. SRM588
  12. java.lang.Thread.State类详解
  13. 从网页psd到html的开发
  14. FTP Client
  15. 2014.8.16 if语句
  16. 【WC2013】糖果公园
  17. Apache web服务器(LAMP架构)(week3_day4)--技术流ken
  18. eclipse配置freemarker,*.ftl文件
  19. splash介绍及安装_mac
  20. vmware打开vmx文件不能创建虚拟机的问题

热门文章

  1. Windows10关闭自动更新方法
  2. PHP 基础知识-数组
  3. JDK源码那些事儿之红黑树基础上篇
  4. uni-app之tabBar的自己配置
  5. Web缓存Cache、Application、Session与ViewState
  6. phpstorm和ftp搭配使用
  7. 使用JXL组件操作Excel和导出文件
  8. C#常规开发Windows服务
  9. JavaScript中的变量提升和严格模式
  10. Math.cbrt() Math.sqrt() Math.pow()