在向上生成(地址码减小方向)堆栈中,若约定位是顶栈(即堆顶指针随时指向实有数据的堆顶),则正确的压入数据操作为()。A.先使(sP)+1,再写入数据B.先写入数据,再使(SP)+1C.先使(SP)-1,再写入数据D.先写入数据,再使(SP)-1
在向上生成(地址码减小方向)堆栈中,若约定位是顶栈(即堆顶指针随时指向实有数据的堆顶),则正确的压入数据操作为()。
A.先使(sP)+1,再写入数据
B.先写入数据,再使(SP)+1
C.先使(SP)-1,再写入数据
D.先写入数据,再使(SP)-1
B.先写入数据,再使(SP)+1
C.先使(SP)-1,再写入数据
D.先写入数据,再使(SP)-1
参考解析
解析:把要压栈的数据先写进堆栈指针现在所指的地址,再改变堆栈指针。因为地址码的方向是减小,所以是(SP)-1。
相关考题:
(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 【1】 个元素。
假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。
在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()A、e=s[top--];B、s[--top]=e;C、e=s[++top];D、s[++top]=e;
单选题在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()Ae=s[top--];Bs[--top]=e;Ce=s[++top];Ds[++top]=e;
判断题因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。A对B错