若一个栈以向量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;
请写出以下代码执行输出:(构造函数、静态块执行顺序)
使用js实现数组的快速排序
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
B2C网站上促销价格出错了,如何做危机公关?
直觉应该是C
只要有V[n+1]的都错,只有C
还是没懂啊!大神画个图呗,谢谢!
这里值得注意的是: 初始栈顶指针top为n+1,也就是说,这里的存储是向下存储的,那么如果进展一个元素,就需要将top上移,这样之后top便变为top-1,然后V[top]=x;