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

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

参考解析

解析:由于栈中元素个数不固定,因此如果将栈底设在中间位置,固定了栈中元素的个数,不能满足只有当数组全满时才不作入栈操作的要求。

相关考题:

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

假如用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有19个元素。() 此题为判断题(对,错)。

设用一维数组A[1…n]来存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。当从栈中弹出一个元素时,变量T的变化为A.T:=T+1B.T:=T-1C.T不变D.T:=n

将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2]; //栈顶和栈底指针SElemType *V; //栈数组int m; //栈最大可容纳元素个数}DblStack

当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。 A、top++B、top—C、top=0D、top=N-1

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

假设用-个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。A.50B.19C.1D.20

假设用一个长度为50的数组成(数组元素的下标从0到49)作为栈的存储窨,栈底指标bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【 】个元素。

当利用大小为N的数组顺序存储一个栈时,假定用栈顶指针top=N+1表示栈空,则向这个栈插入一个元素时,首先应执行______语句修改top指针。A.top:=top+1B.top:=top-1C.top:=0D.top:=N

假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【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

假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是()。A、a[--top]=xB、a[top--]=xC、a[++top]=xD、a[top++]=x

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

当用长度为n的数组顺序存储一个栈时,若用top==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表示栈空,则表示栈满的条件为()。

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

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

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

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

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

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

单选题假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是()。Aa[--top]=xBa[top--]=xCa[++top]=xDa[top++]=x

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