stack的使用方案

 时间:2024-10-17 20:46:43

1、很多人可能误认为stack是继承linkedlist的,实际上则不是这样的,stack其实继承于vector类,这就意味着stack在本质上并不是一个链表,而是一个实打实的数组。

stack的使用方案

2、stack本质虽然是一个数组,但是堆栈的本质并没有些许改变。还是先进后出的实现方式。继承关系也在vector后并没有继承其他的类,但是由于继承了vector,因此是线程安全的。

stack的使用方案

3、stack在原马上是很简单的,比起vector多的就是push、peek以及pop,push和pop自然不必多说,peek的功能是取出最顶层的一个元素,但是不删除。

stack的使用方案

4、另外的,由于继承了vector类的所有方法,所以stack堆栈其实是支持直接添加删除和随机访问的。这一点真的和我们对于堆栈本身的理解差距是很大的。虽然口头上说这是个堆栈,实际上在代码中可以任意的对任意节点进行操作,所以实质上是实现了很多不需要的功能这样子的。

stack的使用方案

5、因为这一个缺点,导致了现在大多堆栈的实现基于linkedlist的变种而不是直接使用stack。不过说归说,下面让我们来看一下stack使用的实例把。

stack的使用方案

6、这大概就是stack的基本内容了,stack本身的存在是为了解决堆栈问题,但是我个人觉得为了图省事继承vector本身就是个失误,stack提供的add、set、get等方法本质上完全不遵守堆栈的方案,这也导致了stack现在不被使用的尴尬的必然结局。

  • 腾讯游戏信用综合积分怎么信用分查询
  • 九州天空城怎么改名字
  • 游戏王决斗链接怪物宝藏活动攻略
  • 缺乏蛋白质导致指甲柔软易断
  • 汽车美容培训有哪些课程?培训需要多久?
  • 热门搜索
    珍惜粮食手抄报 关于孝的手抄报内容 数学知识手抄报 健康小常识手抄报 预防麻疹手抄报 小学生手抄报怎么做 创卫手抄报资料 节俭养德手抄报 卫生健康手抄报 母爱的手抄报