栈的vector实现
来源:互联网 发布:linux vi 全选复制 编辑:程序博客网 时间:2024/06/15 09:50
#ifndef STACK_ARRAY_H#define STACK_ARRAY_H#include <vector>#include <memory>using namespace std;template<typename Object>class Stack_Array{public:Stack_Array():theSize(0),data(make_shared<vector<Object>>()) {}Stack_Array(const Stack_Array &rhs):theSize(rhs.theSize),data(rhs.data) {}Stack_Array& operator=(const Stack_Array &rhs){if (this != &rhs){theSize = rhs.theSize;data = rhs.data;}return *this;}int size() const { return theSize; }bool empty() const { return theSize == 0; }Object &top() const{return data->back();}void push(const Object &x){data->push_back(x);++theSize;}void pop(){data->pop_back();}private:unsigned int theSize;shared_ptr<vector<Object>> data;};#endif
测试代码:
int main(){Stack_Array<int> s;for (int i = 0; i != 10; ++i)s.push(i);cout << s.size() << endl;cout << s.top() << endl;s.pop();cout << s.top() << endl;}
输出结果:
阅读全文
1 0
- 栈的vector实现
- 基于vector的栈实现(C++)
- vector的实现
- vector的实现
- Vector的C++实现
- 我的vector实现
- 向量vector的实现
- vector类的实现
- 简单vector 的实现
- vector的内部实现
- Vector的简单实现
- 向量Vector的实现
- vector容器的实现
- 简单的vector实现
- Vector类的实现
- 向量vector的实现
- vector方法的实现
- vector的简单实现
- Python第一课,字符串的格式化输出
- Mysql的Text和Blob的比较
- Django查询数据库方法get和filter的区别
- Gym
- 高中数学之排列、组合定义及二项式定理
- 栈的vector实现
- 三大基础排序之——冒泡排序
- JSON入门Java篇-1-什么是JSON
- codeforces 138E. Hellish Constraints
- JDBC:Statement与PreparedStatement的联系与区别
- Leetcode之Two Sum II
- JSP页面,链接请求参数乱码
- 注册自定义的Jar包为Linux服务并设置为开机自启动
- sqlite3问题笔记