若用数组S[0..n-1]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。为这两个栈分配空间的最佳方案是()。
AS1的栈底位置为0,S2的栈底位置为n-1
BS1的栈底位置为0,S2的栈底位置为n/2-1
CS1的栈底位置为1,S2的栈底位置为n
DS1的栈底位置为1,S2的栈底位置为n/2
正确答案
答案解析
相似试题
(填空题)
若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()。
(单选题)
设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。
(填空题)
当用长度为n的数组顺序存储一个栈时,若用top==n表示栈空,则表示栈满的条件为()。
(单选题)
顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。
(填空题)
设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s6,s5,s1则顺序栈的容量至少应为()。
(简答题)
利用两个栈S1和S2模拟一个队列,如何利用栈的运算实现队列的插入和删除操作,请简述算法思想。
(简答题)
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈tws的三个操作:初始化inistack(tws)、入栈push(tws,i,x)和出栈pop(tws,i)的算法,其中i为0或1,用以分别指示设在数组两端的两个栈,并讨论按过程(正/误状态变量可设为变参)或函数设计这些操作算法各有什么有缺点。
(单选题)
若已知一个栈的进栈序列是1,2,3,,n,其输出序列为p1,p2,p3,„,pn,若p1=n,则pi为()。
(单选题)
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当入队一个元素,再出队两个元素后,rear和front的值分别为:()