1 #include <iostream>
2 #include <deque>
3 #include <algorithm>
4 using namespace std;
5 //序列容器的模板类,可对线性排列中指定类型的元素进行排序,并且和矢量一样,
6 //也允许快速随机访问任何元素和在容器后面高效插入和删除。
7 //deque(双端队列),内存实体是分块数据类型,在堆上(优秀与vector与list)
8 //能快速地增删查改
9
10 void main()
11 {
12 deque<int> my{ 1,2,3,4,5,6,7,8,9 };
13
14 cout << "最大容量" << my.max_size() << endl;
15 cout << "容量" << my.size() << endl;
16 cout << "第一个" << my.front() << endl;
17 cout << "最后一个" << my.back() << endl;
18
19 ////尾部添加
20 //my.push_back(10);
21 ////头部添加
22 //my.push_front(101);
23 ////任意位置删除或者插入
24 //my.insert(my.begin() + 5, 199);
25 ////删除头部尾部
26 //my.pop_back();
27 //my.pop_front();
28 ////清空
29 //my.clear();
30 ////随机位置删除
31 //my.erase(my.begin());
32 //for_each(my.begin(), my.end(), [](int x) {cout << x << endl; });
33
34 //常量迭代器
35 for (auto cb = my.cbegin(), ce = my.cend(); cb != ce; cb++)
36 {
37 cout << typeid(cb).name() << endl;
38 cout << *cb << endl;
39 }
40
41 //对[]操作符做了重载
42 for (int i = 0; i < my.size(); i++)
43 {
44 cout << my[i] << endl;
45 }
46 cin.get();
47 }