【c++】STL容器-stack和queue的使用与模拟实现(附加deque的简单讲解)
小编个人主页详情 public: private: Container _con; }; _con.push_back(val); } _con.pop_back(); } return _con.back(); } return _con.empty(); } return _con.size(); } stack cout _con.push_back(val); } _con.pop_front(); } return _con.front(); } return _con.back(); } return _con.empty(); } return _con.size(); } queue cout deque cout template public: void push(const T& val) { _con.push_back(val); } void pop() { _con.pop_back(); } T& top() { return _con.back(); } bool empty() const { return _con.empty(); } size_t size() const { return _con.size(); } private: Container _con; }; void test_stack() { stack cout template public: void push(const T& val) { _con.push_back(val); } void pop() { _con.pop_front(); //_con.erase(_con.begin()); //直接将vector禁掉 } T& front() { return _con.front(); } T& back() { return _con.back(); } bool empty() const { return _con.empty(); } size_t size() const { return _con.size(); } private: Container _con; }; void test_queue() { queue cout deque cout //wzx::test_stack(); //wzx::test_queue(); test_deque(); return 0; }