【栈和堆】练习题

选项a:abcdef依次入栈,再依次出栈,符合桟的先进后出原则;

选项b:d出桟,e入栈再马上出桟,f入栈再马上出桟,

             但是b不可能在c的前面出桟;

选项c:abc依次入栈,接着d入栈,出桟,e入栈出桟,f入栈,出桟,最后cba出桟;

选项d:a入栈,出桟,b入栈,b出桟,c入栈,c出桟

一个栈的入栈序列是a,b,c,d,e,f,则不可能的出栈序列_美团笔试题_牛客网 (nowcoder.com)


元素a b c d e f依次进栈,如果6个元素出栈的顺序是b d c f e a

a进栈

b进栈出栈

c进栈d进栈d出栈c出栈

e进栈f进栈

f出栈e出栈a出栈

所以栈容量最少为3

设有一个顺序栈S,元素a b c d e f依次进栈,如果6__牛客网 (nowcoder.com)


首先将元素5,4,3,2,1 入栈,栈顶元素为1,出栈一次就是元素1出栈

再将元素A,B,C,D入栈,栈顶元素是D

再依次出栈,则为入栈的逆序DCBA2345

合起来就是1DCBA2345

一个栈的初始状态为空。首先将元素5,4,3,2,1 依次入栈_百度笔试题_牛客网 (nowcoder.com)


 题目来源于王道论坛 元素a,b,c,d,e依次进入初始__牛客网 (nowcoder.com)


 则转换过程中同时保存在栈中的操作符的最大个数是( )。__牛客网 (nowcoder.com)


 表达式3*2^(4+2*2-6*3)-5,求值过程中当扫描到_搜狗笔试题_牛客网 (nowcoder.com)


局部变量是分配在栈上的,new出来的对象是分配在堆上的,选项ABD都是局部变量,分配在栈上,C选项中动态申请的对象分配在堆上。 

以下哪些对象是分配在栈上的__牛客网 (nowcoder.com)


设栈的顺序存储空间为 S(0:49) ,栈底指针 botto__牛客网 (nowcoder.com)


设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序__牛客网 (nowcoder.com)


当扫描到f时,栈中的元素依次是 ()__牛客网 (nowcoder.com)



栈的链式存储结构: top指针相当于单链表中的头指针,入栈即在链头插入。栈的链式存储简称链栈,没有头结点。top=NULL表示栈为空
栈的顺序存储结构:即用一个StackSize大小的数组来存储整个栈,那么下标为0的元素就是栈底元素,用top变量来指示栈顶元素,因为数组的大小为StackSize,所以0<= top <StackSize。当top=0时表示该栈只有一个元素,top=StackSize-1时表示栈满,top=-1时,表示栈为空栈

若栈采用链式存储结构,则下列说法中正确的是()__牛客网 (nowcoder.com)


调用函数时,入参及返回地址使用了()_顺丰集团笔试题_牛客网 (nowcoder.com)


顺序栈先要预定空间,而链式栈不需要预定空间

链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。__牛客网 (nowcoder.com) 


选项A可由in、in、in、in、out、out、in、out、out、in、out、out得到;选项B可由in、in、in、out、out、in、out、out、in、out、in、out得到;选项C可由in、in、out、in、out、out、in、in、out、in、out、out得到;选项D可由in、out、in、in、in、in、in、outoutoutoutout得到,但题意要求不允许连续三次退栈操作,故D不可能得到。

【另解】先进栈的元素后出栈,进栈顺序为a、b、c、d、e、f,故连续出栈时的序列必然是按字母表逆序的,若出栈序列中出现了长度大于等于3的连续逆序子序列,即为不符合要求的出栈序列。

 题目来源于王道论坛 若元素a、b、c、d、e、f依次进__牛客网 (nowcoder.com)


 链表的节点一般都是动态分配内存,如果在没有其他限制情况下,只有动态申请内存失败的时候才算是栈满!

 和顺序栈相比,链栈有一个比较明显的优势是  __牛客网 (nowcoder.com)


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值