Open 123mcz opened 1 week ago
//栈—现实中的容器 //队-现实中买票排队 //都是操作受限制的容器 //双端队列 操作不受限 两端都能操作,支持随机存取——支持[] //STL中的指针是一种特殊指针,叫做迭代器,是使用类制作的 //***STL中的迭代器为啥用 ++p 效率高 省去了局部变量的创建和释放 //操作中间的位置,从中间的指定的位置插入或者删除数据 需要依赖与迭代器的定位 //insert 从迭代器指定的位置上插入数据 //vector和双端队列的区别是vector只能从末尾放入和删除数据 //vector 动态数组
#include <iostream> #include <stack> #include <queue> #include <deque>//双端队列 using namespace std; int main() { stack<int> arr; arr.push(12); arr.push(11); while (arr.size() != 0)//!arr.empty() { cout << arr.top() << endl; arr.pop(); } queue<int> que; que.push(345); que.push(232); que.push(556); que.pop(); cout << que.front() << endl; cout << que.back() << endl; while (!que.empty()) { cout << que.front() << endl; que.pop(); } deque<int> dep; dep.push_back(1); dep.push_back(2); dep.push_back(5); dep.push_back(4); dep.push_back(6); dep.push_front(10); dep.pop_back(); for (int i = 0; i < dep.size(); i++) { cout << dep[i] << endl; } cout << dep[0] << endl;//等价于 dep.at(0) //STL指针 deque<int>::iterator p1 = dep.begin(); auto p2 = dep.begin(); p1++; dep.insert(p1, 11156); dep.erase(p1); cout << dep[1]; //dep.end() //最后一个的下一个 for (; p1 < dep.end(); p1++) { cout << *p1 << endl; } }
using namespace std; int main() { //size 里面放置了多少个数据 capacity 当前容器容量大小 vector deq = { 1,2,3,4,5,6,7,8,9,10 }; cout << deq.size() << endl; cout << deq.capacity() << endl; deq.push_back(2351); cout << deq.size() << endl; cout << deq.capacity() << endl;//capacity >= size cout << deq.capacity() << endl;//capacity >= size }
//栈—现实中的容器 //队-现实中买票排队 //都是操作受限制的容器 //双端队列 操作不受限 两端都能操作,支持随机存取——支持[] //STL中的指针是一种特殊指针,叫做迭代器,是使用类制作的 //***STL中的迭代器为啥用 ++p 效率高 省去了局部变量的创建和释放 //操作中间的位置,从中间的指定的位置插入或者删除数据 需要依赖与迭代器的定位 //insert 从迭代器指定的位置上插入数据 //vector和双端队列的区别是vector只能从末尾放入和删除数据 //vector 动态数组