6.deque
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 }