欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++Stack栈类模版实例详解

程序员文章站 2024-03-27 08:01:27
1.栈的介绍栈的实现方式分为3种基于静态数组实现,内部预设一个很大的数组对象, 实现简单,缺点是空间受限。基于动态数组实现,内部预设一个容量值,然后分配一段内存空间数组,如果入栈大于默认容量值时,则再...

1.栈的介绍

栈的实现方式分为3

  • 基于静态数组实现,内部预设一个很大的数组对象, 实现简单,缺点是空间受限。
  • 基于动态数组实现,内部预设一个容量值,然后分配一段内存空间数组,如果入栈大于默认容量值时,则再次扩大分配新的内存数组,并将旧数组拷贝至新数组及释放旧数组.
  • 基于双向循环链表实现

栈的函数需要实现如下所示:

  • t pop() : 出栈并返回栈顶元素
  • void  push(const t &t) : 入栈 
  • const t & top() const : 获取const类型栈顶元素
  • t &top() : 获取栈顶元素
  • int length() const: 获取数量(父类已经实现)void clear(): 清空栈(父类已经实现)

本章,我们实现的栈基于动态数组实现,它的父类是我们之前实现的vector类:

c++ 动态数组模版类vector实例详解

所以代码实现会非常简单.

2.栈实现

代码如下所示:

3.代码测试

运行打印:

C++Stack栈类模版实例详解

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!