C++Stack栈类模版实例详解
程序员文章站
2024-03-27 09:26:52
1.栈的介绍栈的实现方式分为3种基于静态数组实现,内部预设一个很大的数组对象, 实现简单,缺点是空间受限。基于动态数组实现,内部预设一个容量值,然后分配一段内存空间数组,如果入栈大于默认容量值时,则再...
1.栈的介绍
栈的实现方式分为3种
- 基于静态数组实现,内部预设一个很大的数组对象, 实现简单,缺点是空间受限。
- 基于动态数组实现,内部预设一个容量值,然后分配一段内存空间数组,如果入栈大于默认容量值时,则再次扩大分配新的内存数组,并将旧数组拷贝至新数组及释放旧数组.
- 基于双向循环链表实现
栈的函数需要实现如下所示:
-
t pop() :
出栈并返回栈顶元素 -
void push(const t &t) :
入栈 -
const t & top() const :
获取const类型栈顶元素 -
t &top() :
获取栈顶元素 -
int length() const:
获取数量(父类已经实现)void clear(): 清空栈(父类已经实现)
本章,我们实现的栈基于动态数组实现,它的父类是我们之前实现的vector类:
所以代码实现会非常简单.
2.栈实现
代码如下所示:
3.代码测试
运行打印:
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!