单选题设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为(  )。A30B20Cm-19Dm-20

单选题
设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为(  )。
A

30

B

20

C

m-19

D

m-20


参考解析

解析:
初始状态为栈顶指针指向高地址,top=m+1,每次入栈top-1。那么当第x个元素入栈时,top=m+1-x=20,解得x=m+1-20=m-19。答案选择C选项。

相关考题:

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

若栈采用顺序存储方式存储,现两栈共享空间V[1m],top[1]、top[2]分别代表第1和第2个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是()。A.|top[2]-top[1]|=0B.top[1]+1=top[2]C.top[1]+top[2]=mD.top[1]=top[2]

设栈的顺序存储空间为S(1:m),初始状态为top=0,则栈中的数据元素个数为()。A.topB.m-top+1C.m-topD.top-m

假定用上界为m的向量s(1:m)存储栈,设栈顶指针top总是指向栈顶元素,要将x入栈的操作步骤是(26)。A.top=top+1;s[top]=x;B.s[top]=x;top=top+1;C.top=(top+1)%m;s[top]=x;D.s[top]=x;top=(top+1)%m

设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。A.30B.29C.20D.19

设栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。A.30B.29C.20D.19

设栈的顺序存储空间为S(1:m),初始状态为top=m+1,则栈中的数据元素个数为()。A.m-top+1B.top-m+1C.m-topD.top-m

设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为()。A.m+1B.0C.m-1D.产生栈空错误

设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为()。A.31B.30C.21D.20

设栈的存储空间为S(1:50),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=30,则栈中的元素个数为()。A.30B.31C.20D.19

● 若一个栈以向量V[1..n]存储,初始使栈指针top为n,则下面x入栈的正确操作是()。设top指针指向栈顶元素。() A. top=top+1;V[top]=x B. V[top]=x;top=top+1C. top=top-1;V[top]=x D. V[top]=x ;top=top-1

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

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

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

设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=25,则栈中的元素个数为()。A.36B.35C.26D.25

设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。A.30B.20C.m-19D.m-20

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

假定利用数组a[m]顺序存储一个栈,用top表示栈顶指针,用top= =0表示栈满,该数组所能存储的栈的最大长度为m,当()时,再做退栈运算会发生“下溢”。A、top == m-1B、top == 0C、top == mD、top == 1

在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()A、e=s[top--];B、s[--top]=e;C、e=s[++top];D、s[++top]=e;

顺序栈s,入栈的元素是e,栈顶是top,栈顶top指示栈顶元素所在位置而不是下一个空位置,则入栈正确的是()。A、s[top++]=e;B、s[++top]=e;C、top++;s[top]=e;D、s[top]=e;top++;

顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。A、s.elem[top]=e;s.top=s.top+1;B、s.elem[top+1]=e;s.top=s.top+1;C、s.top=s.top+1;s.elem[top+1]=e;D、s.top=s.top+1;s.elem[top]=e;

多选题顺序栈s,入栈的元素是e,栈顶是top,栈顶top指示栈顶元素所在位置而不是下一个空位置,则入栈正确的是()。As[top++]=e;Bs[++top]=e;Ctop++;s[top]=e;Ds[top]=e;top++;

单选题在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()Ae=s[top--];Bs[--top]=e;Ce=s[++top];Ds[++top]=e;

单选题顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。As.elem[top]=e;s.top=s.top+1;Bs.elem[top+1]=e;s.top=s.top+1;Cs.top=s.top+1;s.elem[top+1]=e;Ds.top=s.top+1;s.elem[top]=e;

单选题设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为(  )。A30B29C20D19

单选题设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为( )。Atop=top+1;Btop=top-1;Ctop-next=top;Dtop=top-next;

单选题若栈采用顺序存储方式存储,现两栈共享空间V[1 m],top[1].top[2]分别代表第1和第2个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是( )。A│top[2]-top[1]∣=0Btop[1]+1=top[2]Ctop[1]+top[2]=mDtop[1]=top[2]