stack、queue实现
2024-08-30 20:49:37
//SGI STL以deque作为缺省情况下的stack底部结构,stack没有迭代器,不提供遍历功能
//queue的实现类似stack,也是以deque作为缺省底层结构
template <class T,class Sequence=deque<T>>
class stack
{
friend bool operator==__STL_NULL_TMPL_ARGS(const stack&, const stack&);
friend bool operator<__STL_NULL_TMPL_ARGS(const stack&, const stack&);
public:
typedef typename Sequence::value_type value_type;
typedef typename Sequence::size_type size_type;
typedef typename Sequence::reference reference;
typedef typename Sequence::const_reference const_reference;
protected:
Sequence c;//底层容器
public:
bool empty()const{ return c.empty(); }
size_type size()const{ return c.size() }
reference top(){ return c.back; }
const_reference top()const{ return c.back(); }
void push(const value_type& x){ c.push_back(x); }
void pop(){ c.pop_back(); }
}; template<class T,class Sequence>
bool operator==(const stack<T, Sequence>&x, const stack<T, Sequence>&y)
{
return x.c == y.c;
} template<class T, class Sequence>
bool operator<(const stack<T, Sequence>&x, const stack<T, Sequence>&y)
{
return x.c < y.c;
}
最新文章
- 对文本行进行排序,新增-d(目录排序),只对字母数字空格排序(TCPL 练习5-16)
- 使用ASP.Net WebAPI构建REST服务(一)——简单的示例
- Ubuntu安装samba的问题
- HTML中RGB颜色查询对照表
- 【HDOJ】3007 Buried memory
- [转] STL源码学习----lower_bound和upper_bound算法
- Yii中的CCheckBoxColumn在widget中的用法
- ASP.NET MVC4 ASP.NET Web API路由规则
- lcc之内存分配
- CSS3-----图片翻页效果的展示
- Scala 操作符与提取器
- 超级好用的前端开发测试Chrome插件-基于REST的Web服务客户端
- [LeetCode] Can Place Flowers 可以放置花
- 记一次CPU飙升BUG
- HDU 1011(星河战队 树形DP)
- shell脚本启动语法错误syntax error near unexpected token &#39;{
- Python3学习之路~5.9 xml处理模块
- Annotation 标注
- [zhuan]SQLServer查询最近一天,三天,一周,一月,一季度方法
- PHP面向对象——类