首页学历类考试大学计算机科学
(单选题)

若用数组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

正确答案

来源:www.examk.com

答案解析

相似试题

  • (填空题)

    若数组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的值分别为:()

    答案解析

快考试在线搜题