对一个初始为空的栈s执行操作Push(s,5), Push(s,2), Push(s,4), Pop(s,x), getTop(s,x)后,得到的值应是 。
对一个初始为空的栈s执行操作Push(s,5), Push(s,2), Push(s,4), Pop(s,x), getTop(s,x)后,得到的值应是 。
参考答案和解析
2
相关考题:
( 3 )有一个初始为空的栈和下面的输入序列 A,B,C,D,E,F , 现经过如下操作: push, push,top,pop, top, push, push, push, top, pop, pop, pop, push 。 上述操作序列完成后栈中的元素列表(从底到顶)为【 3 】 。
若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为(29)。A.321B.213C.231D.123
一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。则各个状态的条件如下:S1:(t0)创建栈对象时初始化,这是系统做的(t1)在S2状态下执行置空运算setEmpty()(t2)在S3状态下执行置空运算setEmpty()(t3)在S2状态下执行出栈运算Pop()S2:(t4)在S1状态下执行进栈运算Push()(t5)在S3状态下执行出栈运算Pop()S3:(t6)在S2状态下执行进栈运算Push()为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。根据题意,画出栈对象的状态迁移图;
有一个初始为空的栈和输入序列A,B,C,D,E,F,G,现经过如下操作:push,push, pop,push,push,pop,push,pop,pop。所有操作结束后栈中的元素列表(从底到顶)是 ( )。A.ACB.AC.ABCED.ABCDE
若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。A.321B.213C.231D.123A.B.C.D.
阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stock Top),而另一端称为栈底(Stock Bottom)。栈的基本操作包括:创建栈(NewStack)、判断栈是否为空(IsEmpty)、判断栈是否已满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储(如下图所示)。以下C代码采用链式存储结构实现一个整数栈操作。【C代码】typedef struct List {int data; //栈数据struct List* next; //上次入栈的数据地址}List;typedef struct Stack{List* pTop; //当前栈顶指针}Stack;Stack* NewStack() {return (Stack*) calloc(1/sizeof(Stack));}int IsEmpty(Stack* S){//判断栈S是否为空栈if((1))return 1;return 0;}int Top(Stack* s){//获取栈顶数据。若栈为空,则返回机器可表示的最小整数if(IsEmpty(S))return INT_ MIN;return (2);}void Push(Stack* S,int theData) {//将数据theData压栈List* newNode;newNode=(List*)calloc(1/sizeof (List));newNode->data=theData;newNode->next=S->pTop;S->pTop=(3);}void Pop(Stack* S) {//弹栈List* lastTop;if(IsEmpty(S) ) return;lastTop=S->pTop;S->pTop=(4);free(lastTop);}define MD(a) a<<2int main(){int i;Stack* myStack;myStack= NewStack();Push(myStack,MD(1));Push(myStack,MD(2));Pop(myStack);Push(myStack,MD(3)+1);while( !IsEmpty(myStack) ){printf("%d",Top(myStack));Pop(myStack);}return 0;}以上程序运行时的输出结果为:(5)
●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,则操作序列push、pop、pop、push、push、pop (36)。(36)A.得到出栈序列为abcB.得到出栈序列为bacC.得到出栈序列为bcaD.是非法的操作序列
某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?
设输入元素的顺序为1,2,3,4,5,要在栈S的输出端得到序列4.3.5.2.1,则进行的操作用栈的基本运算表示应为push(S,1),push(S,2),push(S,3),push(S,4),pop(S),(),pop(S),pop(S),pop(S)。
设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是()。A、5,4,3,2,1B、2,1C、2,3D、3,4
设输入元素的顺序为1、2、3、4、5,要在栈S的输出端得到43521,则应进行栈的基本运算表示应为:push(S,1),push(S,2),push(S,3),push(S,4),pop(S),(),pop(S),pop(S),pop(S)。
设元素1,2,3,4,5依次进栈,若要在输出端得到序列34251。则应进行的操作序列为push(S,1); push(S,2);(); pop(S); push(S,4); pop(S);(); (); pop(S); pop(S)。
填空题设输入元素的顺序为1,2,3,4,5,要在栈S的输出端得到序列4.3.5.2.1,则进行的操作用栈的基本运算表示应为push(S,1),push(S,2),push(S,3),push(S,4),pop(S),(),pop(S),pop(S),pop(S)。
单选题设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是()。A5,4,3,2,1B2,1C2,3D3,4
填空题设输入元素的顺序为1、2、3、4、5,要在栈S的输出端得到43521,则应进行栈的基本运算表示应为:push(S,1),push(S,2),push(S,3),push(S,4),pop(S),(),pop(S),pop(S),pop(S)。
问答题某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?
单选题有一个初始为空的栈和下面的输入序列A,B,C,D,E,F;现经过如下操作:push,push,push,top,pop,top,pop,push,push,top,pop,pop,pop,push。下列哪一个是正确的从栈中删除元素的序列?()ACBEBEBDCBEDCADCBEDA
单选题有一个初始为空的栈和下面的输入序列A,B,C,D,E,F;现经过如下操作:push,push,push,top,pop,top,pop,push,push,top,pop,pop,pop,push。 下列哪一个是上述操作序列完成后栈中的元素列表(从底到顶)()AFBECBEFDADF
填空题设元素1,2,3,4,5依次进栈,若要在输出端得到序列34251。则应进行的操作序列为push(S,1); push(S,2);(); pop(S); push(S,4); pop(S);(); (); pop(S); pop(S)。
单选题经过下列栈的运算后EmptyStack(s)的值是() InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,x) ;AaBbC1D0