动态数组实现stack
来源:互联网 发布:恢复硬盘数据的软件 编辑:程序博客网 时间:2024/06/07 02:42
#pragma once template<class T>class Stack{public:Stack():_size(0), _capacity(3), _arr(new T[_capacity]) //刚用new T(_capacity) 也成功了{}~Stack(){if (_arr){delete[] _arr; //用了[]和不用[]好像没有太大区别 自己写的小程序内存泄露了对电脑有什么伤害}}public:void push(const T &x){if (_size == _capacity)_bordenCapacity();_arr[_size++] = x;}void pop(){if (_size != 0)--_size;}T& top(){if (_size != 0)return _arr[_size];}const T& top() const{if (_size != 0)return _arr[_size];}inline size_t size(){ return _size; }inline bool empty(){ return _size == 0; }void _bordenCapacity(){_capacity = 3 * _capacity + 2;T *tmp = new T[_capacity]; //C++里面将realloc函数怎么了for (size_t i = 0; i < _size; i++) //memmove不能实现吗{tmp[i] = _arr[i];}delete _arr;_arr = tmp;}void print(){for (size_t i = 0; i < _size; i++){cout << _arr[i];if (i != _size - 1)cout << "->";}cout << endl;}private:size_t _size;size_t _capacity;T* _arr;};
0 0
- 动态数组实现stack
- 数据结构栈stack的动态数组实现
- stack 底层简单实现 动态数组
- Stack类模板的动态数组实现(基本功能)
- 动态数组的Stack类模板的实现
- 动态数组实现的Stack类(过渡版)
- 动态数组实现的Stack类(完整版)
- 用数组实现Stack
- 数组实现stack
- stack的数组实现
- 数组实现stack
- 栈 stack 用数组实现
- [数据结构]Stack(数组)实现
- js用数组实现Stack
- 基于动态数组的Stack类
- 动态栈Stack的C语言实现
- 使用数组实现栈stack功能
- C++ 用数组实现stack,queue
- quartz 定时器的动态加载和取消定时任务
- Android N App分屏模式完全解析(上)
- There is no 'usportal'@'%' registered
- The Scheduler cannot be restarted after shutdown() has been called.的解决办法
- 在装了FLEX builder插件的Eclipse中 ctrl+shift+R没反映
- 动态数组实现stack
- js 控制table 新增一行或一列
- java 设置环境变量
- Buffers与cached啥区别
- 自学--数据库笔记--第五篇--操作结果集
- 第一次做项目“输出Excel”总结
- des 加密解密
- 10大技能 让你坐享10万美元薪酬
- LayaAir使用总结