c++模拟实现stack、queue
#pragma once #include#include #include
#include using namespace std; namespace shichun { template > class stack { public: void push(const T& x) { _con.push_back(x); } void pop() { _con.pop_back(); } T& top() { return _con.back(); } const T& top()const { return _con.back(); } size_t size()const { return _con.size(); } bool empty()const { return _con.empty(); } private: Container _con; }; void test_stack() { stack s; s.push(1); s.push(2); s.push(3); s.push(400); while (!s.empty()) { cout << s.top() << " "; s.pop(); } cout << endl; } } //queue #pragma once #include #include #include
#include using namespace std; namespace shichun { // stack > s; // stack > s; template > class queue { public: void push(const T& x) { _con.push_back(); } void pop() { _con.pop_front(); } T& back() { return _con.back(); } const T& back()const { return _con.back(); } T& front() { return _con.front(); } const T& front()const { return _con.front(); } size_t size()const { return _con.size(); } bool empty()const { return _con.empty(); } private: Container _con; }; }



