deque 容器的操作用法
find和for_each两种泛型算法
iterator和reverse_iterator的使用
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <deque>
using namespace std;
void print(int elem)
{
cout << elem << " ";
}
int main()
{
deque<int> coll;
for (int i = 1; i <= 9; ++i)
{
coll.push_back(i);
}
deque<int>::iterator pos1;
pos1 = find(coll.begin(), coll.end(), 2);
deque<int>::iterator pos2;
pos2 = find(coll.begin(), coll.end(), 7);
for_each(pos1, pos2, print);
cout << endl;
deque<int>::reverse_iterator rpos1(pos1);
deque<int>::reverse_iterator rpos2(pos2);
for_each(rpos2, rpos1, print); // 要注意此时打印为从rpos2到rpos1,不然会出现“out of range” 错误
cout << endl;
system("pause");
return 0;
}
区间的原则为左闭右开