3、已知带头结点的链栈top, 则元素x对应的新结点s进栈操作的语句是()
A.s->next=top->next;top->next=s;
B.top->next=s; s->next=top->next;
C.s->next=top;top =s;
D.top =s; s->next=top;
第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;
}
}
第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;
第3题:
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。
Atop->data=x;
Btop=top->next;
Cx=top->data;
Dx=top->data;top=top->next;
第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;
第5题:
在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()
第6题:
对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode));p->data=a;和()。
第7题:
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。
第8题:
顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。
第9题:
x=top->data;top=top->link;
top=top->link;x=top->link;
x=top;top=top->link;
x=top->link;
第10题:
s.elem[top]=e;s.top=s.top+1;
s.elem[top+1]=e;s.top=s.top+1;
s.top=s.top+1;s.elem[top+1]=e;
s.top=s.top+1;s.elem[top]=e;
第11题:
x=top->data;top=top->next;
top=top->next;x=top->data;
x=top->next;top=top->data;
top->next=top;x=top->data;
第12题:
x=top;top=top->next;
x=top->data;
top=top->next;x=top->data;
x=top->data;top=top->next;
第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;
第14题:
以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为钱顶指针,补充程序。
略
第15题:
以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针。
sizeof(structnode)
P->next=top
top=p
略
第16题:
从栈顶指针为top的链栈中删除一个结点,用x保存被删除结点的值,则执行()。
第17题:
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收楼顶元素,则出栈操作为()。
第18题:
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。
第19题:
设top是一个链榜的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。
第20题:
p->next=top;p=top;
top->next=p;p=top;
p->nex=top;top=p;
top=top->next;pe=top;
第21题:
e=s[top--];
s[--top]=e;
e=s[++top];
s[++top]=e;
第22题:
x=top->data;top=top->next;
top=top->next;x=top->data;
x=top->next;top=top->data;
top->next=top;x=top->data;
第23题:
top->data=x;
top=top->next;
x=top->data;
x=top->data;top=top->next;
第24题:
x=top->data;top=top->next;
top=top->next;x=top->data;
x=top->next;top=top->data;
top->next=top;x=top->data;