经过以下栈的操作后,x的值为()。 initStack(st); push(st,a); push(st,b); pop(st,x); getTop(st,x);A.aB.bC.1D.0

题目

经过以下栈的操作后,x的值为()。 initStack(st); push(st,a); push(st,b); pop(st,x); getTop(st,x);

A.a

B.b

C.1

D.0


相似考题
更多“经过以下栈的操作后,x的值为()。 initStack(st); push(st,a); push(st,b); pop(st,x); getTop(st,x);”相关问题
  • 第1题:

    试题基于以下描述:有一个初始为空的栈和下面的输入序列A、B、C、D、 E、F、G;现经过如下操作:push,push,pop,push,push,top,push,pop,pop。

    _________是从栈中删除元素的序列。

    A.BED

    B.BDE

    C.BEDC

    D.BDEC


    正确答案:A
    解析:push(S,x)往栈中插入一个值为x的元素:pop(S)从栈S中删除一个元素 top(S,x)读栈S的栈顶元素到变量x中,栈保持不变。本题栈的过程是这样的:所以,删除元素的序列是BED。最后栈中的元素列表(从底到顶)为AC。

  • 第2题:

    若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为(29)。

    A.321

    B.213

    C.231

    D.123


    正确答案:B
    解析:栈的运算特点为在同一端插入和删除元素,即先入后出,总是栈顶元素先出栈,新元素总是压在栈顶元素之上并成为栈顶元素。初始栈为空,如下图(a)所示。对于元素 1、2、3,依照操作序列push、push、pop、pop、push、pop,可以得到出栈序列213,其过程为:第一个push操作将元素1压入栈中,如下图(b)所示:第二个push操作将元素2压入栈中,如下图(c)所示:第一个pop将栈顶元素2弹出栈,新栈顶元素为1,如下图(d)所示;第二个pop将栈顶元素1弹出栈,导致栈空,如下图(e)所示:其后的push和pop分别将元素3压入和弹出栈,操作结果如下图(f)和(g)所示。

  • 第3题:

    阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。

    【说明】

    函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。

    【函数】

    void print( BinTreeNode * t; DateType &x) {

    stack ST; int i, top; top = 0;//置空栈

    while(t! = NULL &&t-> data!= x || top!=0)

    { while(t!= NULL && t-> data!=x)

    {

    /*寻找值为x的结点*/

    (1);

    ST[top]. ptr = t;

    ST[top]. tag = 0;

    (2);

    }

    if(t!= Null && t -> data == x) { /*找到值为x的结点*/

    for(i=1;(3);i ++)

    printf("%d" ,ST[top]. ptr ->data);

    else {

    while((4))

    top--;

    if(top>0)

    {

    ST[top]. tag = 1;

    (5);

    }

    }

    }


    正确答案:(1)top++ (2)t=t->leftChild (3)i=top (4)top>0 && ST[top].tag=1 (5)t=ST[top].ptr->rightChild
    (1)top++ (2)t=t->leftChild (3)i=top (4)top>0 && ST[top].tag=1 (5)t=ST[top].ptr->rightChild 解析:这个程序是一个典型二叉树后序遍历非递归算法的应用。算法的实现思路是:先扫描根结点的所有左结点并入栈;当找到一个结点的值为x,则输入出栈里存放的数据,这些数据就是该结点所有祖先结点;然后判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,该子树已经全部后序遍历过;如果不是,则对栈顶结点的右子树进行后序遍历,此时应把栈顶结点的右子树的相结点放入栈中。再重复上述过程,直至遍历过树中所有结点。
    (1)、(2)空年在循环就是扫描根结点的所有左结点并入栈,根据程序中的栈的定义,栈空时top=0,因此在入栈时,先将栈顶指针加1,因此(1)空处应填写“top++”或其等价形式,(2)空是取当前结点的左子树的根结点,因此应填写“t=t->leftChild”。
    (3)空所在循环是处理找到值为x的结点,那么该结点的所有祖先结点都存放在栈中,栈中的栈底是二叉树的根,而栈顶元素是该结点的父结点,因此,(3)空处应填写“i=top”。
    (4)空所在循环是判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,这里要填写判断条件。 tag=0表示左子树,tag=1表示右子树,因此,(4)空处应填写“top> 0&&ST [top].tag=1”。
    (5)空所在语句块是处理栈顶元素的右子树没有被后序遍历情况,则将右子树入栈,因此(5)空处应填写“t=ST[top].ptr->rightChild”。

  • 第4题:

    若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。

    A.321

    B.213

    C.231

    D.123

    A.

    B.

    C.

    D.


    正确答案:B

  • 第5题:

    输入序列为ABC,输出为CBA时,经过的栈操作为()。

    A.push,pop,push,pop,push,pop

    B.push,push,push,pop,pop,pop

    C.push,push,pop,pop,push,pop

    D.push,pop,push,push,pop,pop


    正确答案:B

  • 第6题:

    假设:以EVt表示期权在t时点的内在价值,x表示期权合约的协定价格,St表示该期权基础资产在t时点的市场价格,m表示期权合约的交易单位,则每一看涨期权在t时点的内在价值可表示为( )。

    A.EVt=(St-x)·m(St>x)

    B.EVt=O(St≥x)

    C.EVt=O(St≤x)

    D.EVt=(x-St)·m(St<x)


    正确答案:AC

  • 第7题:

    如果以X表示执行价格,ST代表标的资产的到期日价格,那么欧式看跌期权多头的损益为()。

    A.max(ST-X,0)
    B.min(X-ST,0)
    C.max(X-ST,0)
    D.min(ST-X,0)

    答案:C
    解析:
    A项是欧式看涨期权多头的损益;B项是欧式看涨期权空头的损益;D项是欧式看跌期权空头的损益。
    考点保证金交易

  • 第8题:

    某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?


    正确答案:得到的出栈序列是b,c

  • 第9题:

    经过下列栈的运算后EmptyStack(s)的值是() InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,x) ;

    • A、a
    • B、b
    • C、1
    • D、0

    正确答案:C

  • 第10题:

    单选题
    输入序列为ABC,可以变为CBA时,经过的栈操作为()
    A

    push,pop,push,pop,push,pop

    B

    push,push.push,pop.pop,pop

    C

    push,push,pop.pop,push,pop

    D

    push,pop,push,push,pop,pop


    正确答案: B
    解析:

  • 第11题:

    单选题
    有一个初始为空的栈和下面的输入序列A,B,C,D,E,F;现经过如下操作:push,push,push,top,pop,top,pop,push,push,top,pop,pop,pop,push。 下列哪一个是上述操作序列完成后栈中的元素列表(从底到顶)()
    A

    F

    B

    E

    C

    BEF

    D

    ADF


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    输入序列为ABC,可以变为CBA时,经过的栈操作为(  )。
    A

    push,pop,push,pop,push,pop

    B

    push,push,push,pop,pop,pop

    C

    push,push,pop,pop,push,pop

    D

    push,pop,push,push,pop,pop


    正确答案: C
    解析:

  • 第13题:

    ( 3 )有一个初始为空的栈和下面的输入序列 A,B,C,D,E,F , 现经过如下操作: push, push,top,pop, top, push, push, push, top, pop, pop, pop, push 。 上述操作序列完成后栈中的元素列表(从底到顶)为【 3 】 。


    正确答案:

  • 第14题:

    经过下列栈的操作后,GetTop(ST)的值是()。InitStack(ST);push(ST,'a');push(ST,'b');pop(ST,x);

    A、A

    B、B

    C、1

    D、2


    参考答案:A

  • 第15题:

    有一个初始为空的栈和输入序列A,B,C,D,E,F,G,现经过如下操作:push,push, pop,push,push,pop,push,pop,pop。所有操作结束后栈中的元素列表(从底到顶)是 ( )。

    A.AC

    B.A

    C.ABCE

    D.ABCDE


    正确答案:A
    解析:栈是一种特殊的线性表,栈是限定在表的一端进行插入和删除运算的线性裹。栈的操作原则是“后进先出”。根据栈的后进先出组织数据的特点结合题中的操作,栈的操作过程如下:[*]进栈的元素有ABCDE,而删除的元素有BDE,所以操作结束后栈中的元素只有AC。

  • 第16题:

    以下2题基于以下描述:有一个初始为空的栈和输入序列A,B,C,D,E,F,G,现经过如下操作:push,push,top,pop,push,push,top,push,pop,pop,pop。

    下列哪一个是正确的从栈中删除元素的序列?

    A.BE

    B.BD

    C.BEDC

    D.BDEC


    正确答案:C
    解析:该栈具体的操作是:插入A→插入B→读取栈顶指针B→删除B→插入C→插入D→读取栈顶指针D→插入E→删除E→删除D→删除C。所以删除元素的序列是BEDC。

  • 第17题:

    基于以下描述:有一个初始为空的栈和输入序列A,B,C,D,E,F,G,现经过如下操作:push,push,top,pop,push,push,top,push,pop,pop,pop。

    下列哪一个是正确的从栈中删除元素的序列?

    A.BE

    B.BD

    C.BEDC

    D.BDEC


    正确答案:C
    解析:该栈具体的操作是:插入A→插入 B→读取栈顶指针B→删除B→插入C→插入D→读取栈顶指针D→插入E→删除E→删除D→删除C。所以删除元素的序列是BEDC。

  • 第18题:

    如果以EVt表示期权在t时点的内在价值,x表示期权合约的协定价格,St表示该期权标的物在t时点的市场价格,m表示期权合约的交易单位,则每一看跌期权在f时点的内在价值可表示为(  )。

    A:当St≥x时,EVt=0
    B:当St《x时,EVt=(St-x)m
    C:当St≤x时,EVt=0
    D:当St》x时,EVt=(St-x)m

    答案:A,B
    解析:
    对看涨期权而言,若市场价格高于协定价格,期权的买方执行期权将有利可图,此时为实值期权;市场价格低于协定价格,期权的买方将放弃执行期权,为虚值期权。对看跌期权而言,市场价格低于协定价格为实值期权;市场价格高于协定价格为虚值期权。若市场价格等于协定价格,则看涨期权和看跌期权均为平价期权。

  • 第19题:

    看跌期权的协定价格x大于该期权标的资产在t时点的市场价格St,并且该期权合约的交易单位为m,则该期权在t时点的内在价值等于( )。

    A、St-x
    B、(St-x)×m
    C、(x-St)×m
    D、x-St

    答案:C
    解析:
    C
    期权在t时点的内在价值等于协定价格与t时点标的资产的市场价格之差。该期权合约的交易单位为m,则该期权在t时点的内在价值等于(x-St)×m。

  • 第20题:

    设有一个空栈,栈顶指针为1000H,现有输入序列为1、2、3、4、5,经过push,push,pop,push,pop,push,push后,输出序列是(),栈顶指针为()。


    正确答案:23;1003H

  • 第21题:

    如果以EVt表示期权在t时点的内在价值,x表示期权合约的协定价格,St表示该期权标的物在t时点的市场价格,m表示期权合约的交易单位,则每一看跌期权在t时点的内在价值可表示为()。

    • A、当St≥x时,EVt=0
    • B、当St=(x-St)m
    • C、当St≤x时,EVt=0
    • D、当St>x时,EVt=(St-x)m

    正确答案:A,B

  • 第22题:

    问答题
    某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?

    正确答案: 得到的出栈序列是b,c
    解析: 暂无解析

  • 第23题:

    单选题
    如果以x表示执行价格,ST代表标的资产的到期日价格,则欧式看涨期权空头的损益为(   )。
    A

    max(ST—X,O)

    B

    min(X—ST,O)

    C

    max(X-ST,o)

    D

    min(ST-X,O)


    正确答案: B
    解析:

  • 第24题:

    单选题
    经过下列栈的运算后EmptyStack(s)的值是() InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,x) ;
    A

    a

    B

    b

    C

    1

    D

    0


    正确答案: A
    解析: 暂无解析