包含min函数的栈
2015-09-24 19:16
316 查看
有关deque:
back() 返回最后一个元素
front() 返回第一个元素的引用
pop_back() 删除尾部的元素
pop_front() 删除头部的元素
push_back() 在尾部加入一个元素
push_front() 在头部加入一个元素
有关queue:
push() 入队
pop() 出队
front() 访问队首元素
back() 访问队尾元素
back() 返回最后一个元素
front() 返回第一个元素的引用
pop_back() 删除尾部的元素
pop_front() 删除头部的元素
push_back() 在尾部加入一个元素
push_front() 在头部加入一个元素
有关queue:
push() 入队
pop() 出队
front() 访问队首元素
back() 访问队尾元素
template<class T> class StackMin { deque<T> m_data; deque<T> m_min; public: StackMin(){} virtual ~StackMin(){} void push(const T& value) { m_data.push_back(value); if (m_min.size() == 0 || value < m_min.back()) m_min.push_back(value); else m_min.push_back(m_min.back()); } void pop() { m_data.pop_back(); m_min.pop_back(); } const T& min() const { return m_min.back(); } }; void main() { StackMin<int> s; s.push(4); s.push(2); s.push(3); cout << s.min() << endl; s.pop(); cout << s.min() << endl; s.push(1); cout << s.min() << endl; }
相关文章推荐
- UISwitch
- UVa 10800 - Not That Kind of Graph
- 字符串,数值,一些工具,熟练的话开发速度提高
- LeetCode:PerfectSquares
- 【读书笔记】iOS-NSDate
- hadoop在put数据时,出现org.apache.hadoop.hdfs.server.namenode.NotReplicatedYetException 分析
- 【读书笔记】iOS-NSDate
- 杭电4510为什么时光不能倒流
- HDU 5464 Clarke and problem(类01背包)
- 点击事件的传递/实现下拉刷新/手势检测
- 白话经典算法系列之五 归并排序的实现
- 不使用c++内置的sqrt,求平方根
- 地图市场-文学市场-医药市场
- UICollectionViewFlowLayout 设置九宫格的大小间距
- Java学习笔记【包】
- vbs/QTP进程/任务栏操作
- HDU 3038 How Many Answers Are Wrong (带权并查集)
- C++中使用array报错 requires compiler and library surpport for the ISO c++ 2011 standard
- Java 十大异常报错
- Android动画学习笔记-Android Animation