已知一个顺序栈S,栈顶指针为top,栈的存储空间为stack[0...MAXSIZE-1],则元素x入栈的操作是(假设栈未满)

答案解析

核心考点:栈的顺序存储入栈操作,注意栈顶指针top的含义。 解题思路:入栈操作的步骤是:1. 将元素放入栈顶;2. 修改栈顶指针。 选项分析: A. stack[top] = x; top++;:错误,如果top初始指向栈顶元素,那么应该先赋值然后top++,但通常top指向的是栈顶元素下一个位置。本题假设栈顶指针指向栈顶元素,但通常栈顶指针指向栈顶的下一个空位。 B. top++; stack[top] = x;:正确。若top指向栈顶元素的下一个空位,那么应该先修改top,然后再赋值。 C. stack[top--] = x;:错误,栈顶指针应该先移动,再赋值,且入栈是++不是--。 D. top--; stack[top] = x;:错误。栈顶指针应该先加1,才能让栈顶指向新的空位进行赋值。 易错点:理解栈顶指针的含义,注意入栈时要先修改指针再放入元素,或者反之。
正确答案:B
随机推荐
开始刷题