赞
踩
1.堆栈是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,top)进行插入数据(PUSH)和删除数据(POP)的运算。
2.特点:stack是一种容器适配器 支持后进先出 无迭代器
3.stack的底层容器需要支持如下操作:
- empty(判空)
- size(返回有效数据个数)
- push(队尾插入)
- pop (队尾删除)
- top(返回对头元素)
4.stack的底层可以是vector , list , deque(双端队列),默然情况是deque
底层实现:
- namespace bit
- {
- template< typename T, typename Container = deque<T> >// 适配器模式 + 类模版
- class stack
- {
- public:
- void push(const T& x)
- {
- _com.push_back(x);
- }
- bool empty()
- {
- return _com.empty();
- }
- void pop()
- {
- _com.pop_back();
- }
- size_t size()
- {
- return _com.size();
- }
- T& top()
- {
- return _com.back();
- }
-
- private:
- Container _com;
- };
- }

1.队列是一种容器适配器,专门适用于先进先出操作,从一段提取元素,一端插入元素
2.队列的底层容器需要支持以下操作
- size
- empty
- push
- pop
- front
- back
3.queue的底层可以是list , deque ,默然情况是deque
底层实现:
- template< typename T, typename Container = deque<T> >
- class queue
- {
- public:
- void push(const T& x)
- {
- _com.push_back(x);
- }
- bool empty()
- {
- return _com.empty();
- }
- void pop()
- {
- _com.pop_back();
- }
- size_t size()
- {
- return _com.size();
- }
- T& top()
- {
- return _com.back();
- }
-
- private:
- Container _com;
- };

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。