若一个栈元素用数组data[1..n]存储,初始栈顶指针top为n,则以下元素x进栈最适合的操作是______。
A. top++; data[top]=x;
B. data[top]=x; top++;
C. top--; data[top]=x;
D. data[top]=x; top--;
数组A[n]的下标范围为0~n-1,共可存放n个数据元素。
如果写成A[0...n],则说明下标范围为 0~n,共可存放n+1个数据元素。
本题中用数组data[1..n]存储,所以下标范围为1~n,可存放n个数据元素,
初始栈顶指针top为n,即数组的最后一个位置,
所以元素x进栈时,应先入栈,再将指针-1,(即data[top]=x; top--;)。
huyufeu1009 回复 13245372484: 错了,数组下标范围是1~n,栈顶指针top为n在数组范围内。所以从n开始存数据,先进栈,再对指针减一
加➕ 回复 huyufeu1009: 有个疑问,top--,不是先调用,后-1吗?,c d区别是啥
D
用户登录可进行刷题及查看答案
登录后提交答案