int *base; //栈顶指针int *top; // 栈大小 int size; }stack; // 创建和初始化栈 stack *create_init_stack() { // 创建栈结构 stack *s = (stack *)malloc(sizeof(stack)); if(s == NULL) return NULL; // 分配栈空间 s->base = (int *)malloc(STACK_INIT_SIZE * sizeof(int)); ...
【答案】:C 此题考查的知识点是栈的后进先出特点。考查出栈序列,要保证先人栈的一定不能在后入栈的前面出栈,C选项中的6在5前人栈,5没有出栈,6却出栈了,所以不合法。其他都符合规律。所以选C。
是以从大到小的随机顺序入栈,虽然顺序不可控,但是从大到小所以5肯定在6后面入栈,遵循后进先出原则,所以5不可能在6之后出栈,所以一眼看出c是不合法的。没有规定要一次性进完所有的元素:对于A:先进入6-5,再出5,再进4,再出4,再进3 ,再出3,再出6;再进入2,1,再出1,2;C;...
栈的结点插入为进栈,结点删除为出栈。栈具有后进先出的特征。 A选项可以实现,就是一个元素进栈后立即出栈。而B选项中前面三个可以先进(1,2,3)再出(3,2,1),产生序列3,2,1,接下来是6出栈,4和5肯定已经在栈内了,那么出栈的顺序应该是先5后4,因此,这项有错,是不可能的出栈序列。
A. 4,2,5,3,1,6 B. 1,3,5,2,6,4 C. 6,4,2,3,5,1 D. 6,2,4,3,1,5 相关知识点: 试题来源: 解析 [答案]D [解析] [详解]本题主要考查栈的操作。选项A,5之后应该是1出栈;选项B,5之后应该是6出栈;选项C,6之后可以是2或3出栈;选项D可行,故本题选D选项。反馈...
估计很多把题目看的有问题,入栈顺序是 6 5 4 3 2 1,不是 1 2 3 4 5 6,3 4后面不可能是...
有6个元素按6、5、4、3、2、1的顺序进栈,进栈过程中可以出栈,则以下可能的出栈序列是 (B,D) A. 1、4、3、5、2、6 B. 6、5、4、3、2、1 C.
【答案】:C 一次进栈最多4个,即ABCD同时在栈中,则EDCBAF不可能,A项中,E和F还没有进栈就已经出栈;B项中,D元素不可能出栈在A的后面;D项中,最后两个元素出栈顺序也有误。
本题考查的知识点是入栈出栈序列问题,解题方法为:如果数值a出栈,那么在a前入栈的元素要么已出栈,要么顺序地排列在栈中。C选项中,当4出栈时,4前入栈的6,5一定都在栈中,情况为:栈底-6-5。所以接下来不可能是6出栈,只能是5出栈。故答案为C选项。 反馈 收藏 ...
百度试题 结果1 题目设有一个顺序栈,6个元素1、2 、3、4、5、6依次入栈,如果6个元素出栈的顺序是2、3、4、6、5、1,则栈的容量至少应该是 A. 2 B. 3 C. 5 D. 6 相关知识点: 试题来源: 解析 B 满分:5 分 正确答案:B反馈 收藏