这里利用list这个容器来模拟queue;实际上在STL底层中,queue和stack都是用deque这个容器
实现。
- namespace my_queue
- {
- //适配器模式/配接器
- template <class T, class Container = list
> - class queue
- {
-
- public:
-
- void push(const T& val)
- {
- _con.push_back(val);
- }
-
- void pop()
- {
- _con.pop_front();
- }
-
- const T& front()
- {
- return _con.front();
- }
-
- const T& back()
- {
- return _con.back();
- }
-
- size_t size()
- {
- return _con.size();
- }
-
- bool empty()
- {
-
- return _con.empty();
- }
-
-
-
- private:
- Container _con;
- };
-
- void test1()
- {
- //The second parameter is haven
- queue<int> qe;
- qe.push(6);
- qe.push(7);
- qe.push(8);
- qe.push(9);
- qe.push(10);
-
- while (!qe.empty())
- {
- cout << qe.front() << " ";
- qe.pop();
- }
-
- }
- }