参考答案和解析
B
更多“3、已知带头结点的链栈top, 则元素x对应的新结点s进栈操作的语句是()”相关问题
  • 第1题:

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

    [说明]

    用链式存储结构实现的栈称为链栈。若链栈元素的数据类型为datatype,以LinkStack记链栈结构,其类型定义为:

    typedef struct node

    { datatype data;

    stmct node * next;

    } StackNode, * LinkStack;

    由于栈的主要操作都是在栈顶进行的,因此我们把链表的头部作为栈顶。设top为栈顶指针,即:LinkStack top。

    下面各函数的功能说明如下:

    (1)LinkStack Init_LinkStack():建立并返回空的链栈;

    (2)int Empty_LinkStack(LinkStack top):判断top所指链栈是否空;

    (3)LinkStack Push_LinkStack(LinkStacktop,datatypex):将数据x压人top所指链栈的栈顶,返回新栈指针;

    (4)LinkStack Pop_LinkStack (LinkStacktop, datatype*x):弹出top所指链栈的栈顶元素x,返回新栈指针。

    [函数]

    LinkStaek Init_LinkStack( )

    { returnNULL;

    int Empty_LinkStack ( LinkStaek top)

    if(top = = NULL) return 1;

    else return 0;

    LinkStaek Push_LinkStaek( LinkStaektop, datatype X)

    { StaekNode *s;

    s=malloc (sizeof(StaekNode) );

    (1)= x;

    (2)= top;

    (3);

    return top;

    }

    LinkStaek Pop_LinkStack (LinkStacktop, datatype * x)

    { StaekNode *p;

    if(top = = NULL) return NULL;

    else{

    * x =(4);

    p = top;

    (5);

    free (p);

    return top;

    }

    }


    正确答案:(1)s->data (2)s->next (3)top=s (4)top->data (5)top=top->next
    (1)s->data (2)s->next (3)top=s (4)top->data (5)top=top->next 解析:(1)~(3):LinkStack Push_LinkStack(Link- Stacktop,datmype x)函数的功能是将x压入栈顶,因此首先为其创建一个节点s,使s->data等于x,使s-> next指向原来的栈顶top,最后将,作为新栈的栈顶并返回。
    (4)~(5):LinkStack Pop_LinkStaek(LinkStacktop, datatype*x)的功能是弹出原栈顶元素,返回这个元素以及新栈的指针。当原链栈不空时,取出栈顶元素top ->data赋给参量*x作为返回值,将top->next更新为新栈的栈顶,并且释放原来top节点的空间。

  • 第2题:

    设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行的操作是(32)。

    A.x=top->data;top=top->link;

    B.top=top->link;x=top->data;

    C.x=top;top=top->link;

    D.x=top->data;


    正确答案:A
    解析:x先取栈顶结点的值,并从栈中去掉这个结点。

  • 第3题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。

    Atop->data=x;

    Btop=top->next;

    Cx=top->data;

    Dx=top->data;top=top->next;


    A

  • 第4题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。

    Ax=top->data;top=top->next;

    Btop=top->next;x=top->data;

    Cx=top->next;top=top->data;

    Dtop->next=top;x=top->data;


    A

  • 第5题:

    在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()

    • A、e=s[top--];
    • B、s[--top]=e;
    • C、e=s[++top];
    • D、s[++top]=e;

    正确答案:A

  • 第6题:

    对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode));p->data=a;和()。

    • A、p->next=top;p=top;
    • B、top->next=p;p=top;
    • C、p->nex=top;top=p;
    • D、top=top->next;pe=top;

    正确答案:C

  • 第7题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。

    • A、top->data=x;
    • B、top=top->next;
    • C、x=top->data;
    • D、x=top->data;top=top->next;

    正确答案:A

  • 第8题:

    顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。

    • A、s.elem[top]=e;s.top=s.top+1;
    • B、s.elem[top+1]=e;s.top=s.top+1;
    • C、s.top=s.top+1;s.elem[top+1]=e;
    • D、s.top=s.top+1;s.elem[top]=e;

    正确答案:D

  • 第9题:

    单选题
    链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作()。
    A

    x=top->data;top=top->link;      

    B

    top=top->link;x=top->link;     

    C

    x=top;top=top->link;        

    D

    x=top->link;


    正确答案: D
    解析: x=top->data将结点的值保存到x中,top=top->link栈顶指针指向栈顶下一结点,即摘除栈顶结点。

  • 第10题:

    单选题
    顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。
    A

    s.elem[top]=e;s.top=s.top+1;

    B

    s.elem[top+1]=e;s.top=s.top+1;

    C

    s.top=s.top+1;s.elem[top+1]=e;

    D

    s.top=s.top+1;s.elem[top]=e;


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

  • 第11题:

    单选题
    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收楼顶元素,则出栈操作为()。
    A

    x=top->data;top=top->next;

    B

    top=top->next;x=top->data;

    C

    x=top->next;top=top->data;

    D

    top->next=top;x=top->data;


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

  • 第12题:

    单选题
    从栈顶指针为top的链栈中删除一个结点,用x保存被删除结点的值,则执行()。
    A

    x=top;top=top->next;

    B

    x=top->data;

    C

    top=top->next;x=top->data;

    D

    x=top->data;top=top->next;


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

  • 第13题:

    设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行的操作是(31)。

    A.top->link=s;

    B.s->link=top->link;top->link=s;

    C.s->link=top;top=s;

    D.s->link=top;top=top->link;


    正确答案:C
    解析:s作为新的栈顶,top指向s。

  • 第14题:

    以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为钱顶指针,补充程序。

  • 第15题:

    以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针。
    sizeof(structnode)
    P->next=top
    top=p

  • 第16题:

    从栈顶指针为top的链栈中删除一个结点,用x保存被删除结点的值,则执行()。

    • A、x=top;top=top->next;
    • B、x=top->data;
    • C、top=top->next;x=top->data;
    • D、x=top->data;top=top->next;

    正确答案:D

  • 第17题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收楼顶元素,则出栈操作为()。

    • A、x=top->data;top=top->next;
    • B、top=top->next;x=top->data;
    • C、x=top->next;top=top->data;
    • D、top->next=top;x=top->data;

    正确答案:A

  • 第18题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。

    • A、x=top->data;top=top->next;
    • B、top=top->next;x=top->data;
    • C、x=top->next;top=top->data;
    • D、top->next=top;x=top->data;

    正确答案:A

  • 第19题:

    设top是一个链榜的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。

    • A、x=top->data;top=top->next;
    • B、top=top->next;x=top->data;
    • C、x=top->next;top=top->data;
    • D、top->next=top;x=top->data;

    正确答案:A

  • 第20题:

    单选题
    对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode));p->data=a;和()。
    A

    p->next=top;p=top;

    B

    top->next=p;p=top;

    C

    p->nex=top;top=p;

    D

    top=top->next;pe=top;


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

  • 第21题:

    单选题
    在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()
    A

    e=s[top--];

    B

    s[--top]=e;

    C

    e=s[++top];

    D

    s[++top]=e;


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

  • 第22题:

    单选题
    设top是一个链榜的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。
    A

    x=top->data;top=top->next;

    B

    top=top->next;x=top->data;

    C

    x=top->next;top=top->data;

    D

    top->next=top;x=top->data;


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

  • 第23题:

    单选题
    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。
    A

    top->data=x;

    B

    top=top->next;

    C

    x=top->data;

    D

    x=top->data;top=top->next;


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

  • 第24题:

    单选题
    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。
    A

    x=top->data;top=top->next;

    B

    top=top->next;x=top->data;

    C

    x=top->next;top=top->data;

    D

    top->next=top;x=top->data;


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