封装顺序栈(模拟实现stack)
来源:互联网 发布:心动网络 校招 编辑:程序博客网 时间:2024/05/16 12:13
一。我们先来看看库函数stack中有哪些函数
我们看到函数有
@1.empty()函数:
函数原型:bool empty ( ) const;判断栈是佛为NULL;true if the container size is 0, false otherwise.
@2.size()函数:
函数原型:size_type size ( ) const;返回栈中有用元素个数,size_t类型
@3.top()函数:
函数原型:value_type& top ( ); const value_type& top ( ) const;
拿出栈顶元素;
@4.push()函数:
函数原型:void push ( const T& x );
元素入栈
@5.pop()函数:
函数原型:void pop ( );
栈顶元素出栈
二,自己模拟实现stack
#include<iostream>using namespace std;template<class T>class Stack{public: Stack() : _array(new T[3]) , _size(0) , _capacity(3) {} void Push(const T& data) { _CheckCapacity(); _array[_size] = data; _size++; } void Pop() { if (Empty()) _size--; } T& Top() { return _array[_size - 1]; } const T& Top()const { return _array[_size - 1]; } size_t Size()const { return _size; } bool Empty()const { return _size!=0?true:false; } ~Stack() { if (_array) delete[] _array; }private: void _CheckCapacity() { if (_size == _capacity) { T* temp = new T[2 * _size + 3]; //swep(_array, temp); for (int i = 0; i < _size; i++) { temp[i] = _array[i]; } delete[] _array; _array = temp; temp = NULL; _capacity = 2 * _size + 3; } }private: T* _array; size_t _capacity; size_t _size;};int main(void){ Stack<int> array; array.Push(1); array.Push(2); array.Push(3); array.Push(4); array.Size(); cout<<array.Empty() << endl; array.Pop(); cout << array.Top() << endl; array.Size(); return 0;}
阅读全文
0 0
- 封装顺序栈(模拟实现stack)
- 封装顺序栈(模拟实现stack)
- stack(栈)!基于顺序表实现
- Stack(1)Stack的顺序实现
- 顺序栈(Stack)
- Structure.Stack 栈(包含顺序栈、链表栈的实现)
- 基于Vector实现C++中的适配器stack(顺序栈)
- 基于Vector实现适配器stack(顺序栈)
- 模拟实现stack
- stack的模拟实现
- 顺序栈(sequence stack)
- 【数据结构】顺序栈 Stack
- 顺序栈(Sequential Stack)
- 模拟实现 stack和queue
- 【c++】模拟实现栈 类模板(Stack的基本操作)
- 图形界面模拟一个顺序栈的实现
- 模拟实现顺序表
- 栈(Stack)的实现
- 巴什博弈 威佐夫博弈 nim博弈 斐波那契博弈
- 1.初识C语言
- 面筋
- 扫雷
- the class required for this tool,‘rviz_visual_tools/KeyTool’,could not be loaded
- 封装顺序栈(模拟实现stack)
- 封装顺序栈(模拟实现stack)
- 文章标题
- IT道德与伦理
- [kuangbin带你飞]专题1 简单搜索 B
- 使用函数调用任意输入两个数 并输出最大(小)值
- 初探MyBatis
- MATLAB神经网络训练结果各参数解释
- 大数学家陶哲轩谈时间管理与高效工作的方法