若一个栈以向量V[1…n]存储,初始栈顶指针top为n+1,则下面x入栈的正确操作是()
A.top:=top+1;V[top]:=x
B.V[top]:=x;top:=top+1
C.top:=top-1;V[top]:=x
D.V[top]:=x;top:=top-1
正确答案是 C
题目说以向量【1…n】存储并且n+1为初始栈顶,说明栈是从n向1生长的,栈顶存放最后入栈的元素,因此先将top减1,此时top中没有元素,再将要入栈的元素放到top中。
直觉应该是C
只要有V[n+1]的都错,只有C
还是没懂啊!大神画个图呗,谢谢!
这里值得注意的是: 初始栈顶指针top为n+1,也就是说,这里的存储是向下存储的,那么如果进展一个元素,就需要将top上移,这样之后top便变为top-1,然后V[top]=x;
多线程中sleep()和wait()方法的区别
小程序没有分享到朋友圈的功能,但是产品为了推广,需要曲线实现这个功能,请给出设计方案?
cookies,sessionStorage 和 localStorage 的区别?
怎么理解产品经理与技术研发之间的关系?
直觉应该是C
只要有V[n+1]的都错,只有C
还是没懂啊!大神画个图呗,谢谢!
这里值得注意的是: 初始栈顶指针top为n+1,也就是说,这里的存储是向下存储的,那么如果进展一个元素,就需要将top上移,这样之后top便变为top-1,然后V[top]=x;