网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)
单选题
设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。
A

S1的栈底位置为0,S2的栈底位置为n-1

B

S1的栈底位置为0,S2的栈底位置为n/2

C

S1的栈底位置为0,S2的栈底位置为n

D

S1的栈底位置为0,S2的栈底位置为1


参考答案

参考解析
解析: 两栈共享空间首先两个栈是相向增长的,栈底应该分别指向两个栈中的第一个元素的位置,并注意C++中的数组下标是从0开始的。
更多 “单选题设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。A S1的栈底位置为0,S2的栈底位置为n-1B S1的栈底位置为0,S2的栈底位置为n/2C S1的栈底位置为0,S2的栈底位置为nD S1的栈底位置为0,S2的栈底位置为1” 相关考题
考题 ●设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为 (35) 。(35) A.2B.3C.4D.5

考题 假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。

考题 一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。则各个状态的条件如下:S1:(t0)创建栈对象时初始化,这是系统做的(t1)在S2状态下执行置空运算setEmpty()(t2)在S3状态下执行置空运算setEmpty()(t3)在S2状态下执行出栈运算Pop()S2:(t4)在S1状态下执行进栈运算Push()(t5)在S3状态下执行出栈运算Pop()S3:(t6)在S2状态下执行进栈运算Push()为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。根据题意,画出栈对象的状态迁移图;

考题 设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是s2,s3,s4,s5,s6,s1,则栈的容量至少应该是 ( )A.2B.3C.5D.6

考题 设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素进栈,栈顶指针t叩值变为( )。A.发生栈满的错误B.2C.mD.0

考题 设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为______。A.2B.3C.4D.5

考题 a、b、c、d、e、f依次进栈、进栈、出栈、进栈、进栈、出栈的操作,则操作完后,栈S的栈顶元素为()。A.aB.bC.c

考题 a、b、c、d、e、f依次进栈、进栈、出栈、进栈、进栈、出栈、进栈的操作,则操作完后,栈S的栈顶元素为()。A.aB.bC.d

考题 有空栈S,对下列待进栈元素序列a、b、c、d、e、f进行进栈、进栈、出栈、进栈、 进栈、出栈的操作后,栈S的栈顶和栈底元素分别为 (48)。A.c和bB.b和aC.c和aD.d和b

考题 设用数组A[1,n]作为两个栈S1、S2的共用存储空间,对任一个栈,只有当数组A[1,n]全满时才不作入栈操作,则分配这两个栈空间的最佳方案是()。A.S1的栈底位置设为1,S2的栈底位置设为n B.S1的栈底位置设为n/2,S2的栈底位置设为n/2+1 C.S1的栈底位置设为1,S2的栈底位置设为n/2 D.S1的栈底位置设为n/2,S2的栈底位置设为1

考题 设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。A、S1的栈底位置为0,S2的栈底位置为n-1B、S1的栈底位置为0,S2的栈底位置为n/2C、S1的栈底位置为0,S2的栈底位置为nD、S1的栈底位置为0,S2的栈底位置为1

考题 当用长度为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件为()。

考题 假定利用数组a[N]顺序存储一个栈,用top表示栈顶元素的下标位置,用top= =-1表示栈空,用top= =N - 1表示栈满,则该数组所能存储的栈的最大长度为()A、N - 1B、NC、N+1D、N十2

考题 设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s6,s5,s1则顺序栈的容量至少应为()。

考题 利用两个栈S1和S2模拟一个队列,如何利用栈的运算实现队列的插入和删除操作,请简述算法思想。

考题 若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()。

考题 当用长度为n的数组顺序存储一个栈时,若用top==n表示栈空,则表示栈满的条件为()。

考题 设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,…,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,…,a2,a2n-1,a2n-3,…,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。

考题 设用链表作为栈的存储结构则退栈操作()A、必须判别栈是否为满B、必须判别栈是否为空C、判别栈元素的类型D、对栈不作任何判别

考题 若用数组S[0..n-1]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。为这两个栈分配空间的最佳方案是()。A、S1的栈底位置为0,S2的栈底位置为n-1B、S1的栈底位置为0,S2的栈底位置为n/2-1C、S1的栈底位置为1,S2的栈底位置为nD、S1的栈底位置为1,S2的栈底位置为n/2

考题 填空题当用长度为n的数组顺序存储一个栈时,若用top==n表示栈空,则表示栈满的条件为()。

考题 单选题今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为()A fB cC aD b

考题 填空题当用长度为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件为()。

考题 单选题假定利用数组a[n]顺序存储一个栈,用top表示栈顶指针,用top==n+l表示栈空,该数组所能存储的栈的最大长度为n,则表示栈满的条件是()A top == -1B top == 0C top>lD top == 1

考题 单选题若用数组S[0..n-1]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。为这两个栈分配空间的最佳方案是()。A S1的栈底位置为0,S2的栈底位置为n-1B S1的栈底位置为0,S2的栈底位置为n/2-1C S1的栈底位置为1,S2的栈底位置为nD S1的栈底位置为1,S2的栈底位置为n/2

考题 问答题利用两个栈S1和S2模拟一个队列,如何利用栈的运算实现队列的插入和删除操作,请简述算法思想。

考题 填空题若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()。