若不带头结点的链栈其栈顶指针为top,则删除栈顶元素,应进行如下()操作。A.top=top->next; s=top; free(s);B.s=top; top=top->next; free(s);C.s=top->next; top->next=s->next;free(s);D.s=top; top->next=s->next;free(s);
若不带头结点的链栈其栈顶指针为top,则删除栈顶元素,应进行如下()操作。
A.top=top->next; s=top; free(s);
B.s=top; top=top->next; free(s);
C.s=top->next; top->next=s->next;free(s);
D.s=top; top->next=s->next;free(s);
参考答案和解析
s=top; top=top->next; free(s);
相关考题:
(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 【1】 个元素。
对一个栈顶指针为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;
假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。
阅读下列函数说明和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;}}
假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bosom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______个元素。
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。Atop-data=x;Btop=top-next;Cx=top-data;Dx=top-data;top=top-next;
设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;
设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;
对一个栈顶指针为top的链栈进行出栈操作,用变量e保存栈顶元素的值,则执行()。A、e=top-next;top-data=e;B、top=top-next;e=top-data;C、e=top-data;top=top-next;D、top=top-next;e=data;
对一个栈顶指针为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;
设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;
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。A、top-data=x;B、top=top-next;C、x=top-data;D、x=top-data;top=top-next;
设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;
单选题对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode));p-data=a;和()。Ap-next=top;p=top;Btop-next=p;p=top;Cp-nex=top;top=p;Dtop=top-next;pe=top;
单选题在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()Ae=s[top--];Bs[--top]=e;Ce=s[++top];Ds[++top]=e;
单选题设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;
单选题设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。Atop-data=x;Btop=top-next;Cx=top-data;Dx=top-data;top=top-next;
单选题对一个栈顶指针为top的链栈进行出栈操作,用变量e保存栈顶元素的值,则执行()。Ae=top-next;top-data=e;Btop=top-next;e=top-data;Ce=top-data;top=top-next;Dtop=top-next;e=data;
单选题设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;
单选题设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为( )。Atop=top+1;Btop=top-1;Ctop-next=top;Dtop=top-next;