使用数组和底层容器实现栈
2014-03-07 12:03
465 查看
使用数组实现栈:
使用底层容器实现栈:
#include <cassert> #include <cstdlib> #include <iostream> using namespace std; template <class T> class stack { public: typedef size_t size_type; typedef T value_type; static const size_type CAPICITY = 30; stack() { used = 0; } void push(const value_type& val) { assert(size() < CAPICITY); data[used++] = val; } void pop() { assert(!empty()); used--; } value_type top() { assert(!empty()); return data[used-1]; } size_type size() { return used; } bool empty() { return (used==0); } private: size_type used; value_type data[CAPICITY]; };
使用底层容器实现栈:
#include <deque> using namespace std; template <class T, class Sequence = deque<T>> class stack { public: typedef typename Sequence::size_type size_type; typedef typename Sequence::value_type value_type; void push(const value_type& val) { c.push_back(val); } void pop() { c.pop_back(); } value_type top() { return c.back(); } size_type size() { return c.size(); } bool empty() { return c.empty(); } private: Sequence c; };
相关文章推荐
- 107-109_容器_自己实现HashMap_Map底层实现_哈希算法实现_使用数组和链表
- 创建自己的Stack底层使用数组来实现
- 每日一省之—使用线性探测法(仅利用数组作为底层数据结构)实现HashMap
- 59_数组_模拟ArrayList容器的底层实现_JDK源码分析ArrayList
- 【数据结构】使用deque作为底层数据结构,实现容器适配器栈
- 数组第二十四课,模拟ArrayList容器的底层实现,JDK源码分析
- 实现容器的底层技术
- 基于静态数组的容器类bag实现
- 学习笔记之cocos2d-x2.1.1实现读取.plist文件(使用数组CCArray)
- C++之string的底层真的是用char数组来实现的么?
- 模拟容器的Iterator实现,让自己的类能够使用for-each
- 【STL源码剖析读书笔记】自己实现Heap算法之MyHeap(底层容器用vector)
- 数据结构之二叉树 使用数组实现
- 数组中有4个元素(@”cc”,@”dd”,@”tt”,@”ff”),使用数组中的block方法实现降序排列
- 使用不完全填满数组的实现的循环FIFO(队列)
- 求数组中最大子数组和(容器实现输入动态数组)
- 自行实现ArrayList(底层结构数组)--Java版
- 使用Arrays和Collections实现将数组快速转成list
- Service练习——通过Messenger(信使)来实现IPC通讯(Messenger底层使用AIDL实现)
- 使用System.arraycopy()实现数组之间的复制