线性数据结构

线性数据结构


线性数据结构以维持某种形态和操作限制为代价,换取性能优化。

栈是一种仅限定在表尾插入和删除操作的线性表,将操作端称之为栈顶,另一端称之为栈底。栈实现了一种先进后出(last-in,first-out,LIFO)的策略,基本操作包括:入栈、出栈、取栈顶元素等。

栈的入栈和出栈操作

C++的STL标准模板库提供了栈容器,定义在头文件stack中。对于stack类型的变量stk,基本操作如下:

  • 最先进栈的元素,是不是只能最后出栈?
  • 栈对线性表的插入和删除的位置进行了限制,并没有对元素进出的时间进行限制,也就是说,在不是所有元素都进栈的情况下,进去的元素也可以出栈,只要保证是栈顶元素出栈就可以。

如果有3个整数1、2、3依次入栈,则有哪些出栈次序?

  • 第一种:1进,2进,3进,3出,2出,1出,出栈次序为321
  • 第二种:1进,1出,2进,2出,3进,3出,出栈次序为123
  • 第三种:1进,2进,2出,
  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值