设单链表中结点的结构为(data,link)。已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?
A.s↑.link:=p↑.link;p↑.link:=s
B.q↑.link:=s;s↑.link:=p
C.p↑.link:=s↑.link;s↑.link:=p
D.p↑.link:=s;s↑.link:=q
A.s↑.link:=p↑.link;p↑.link:=s
B.q↑.link:=s;s↑.link:=p
C.p↑.link:=s↑.link;s↑.link:=p
D.p↑.link:=s;s↑.link:=q
设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y,的新结点,若将结点y插入结点x之后,则需要执行以下语句:__________;__________;【华中理工大学2000一、4(2分)】
设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列()操作。
A.s->next=p->next;p->next=s;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
设单链表中结点的结构为:
在一个具有n个结点的单链表中插人一个新结点,并可以不保持原有顺序的算法的时间复杂度是().
A、O(1)
B、O(n)
C、O(n2)
D、O(nlog2n)
设单链表中结点的结构为:
已知单链表中结点*q是结点*p的直接前驱,若在*q与*p之间插人结点*s,
则应执行以下()操作。
A、s->link-p-link;p->link-s;
B、q->link=s;s->link-p:
C、p->link-s->link;s~>link=p;
D、p->link=s;s->link=q;
A、p->rLink=s;s->lLink=p;p->rLink->1Link=s;s->rLink=p->rLink;
B、p->rLink=s;p->rLink->lLink=s;s->lLink=p;s->rLink=p->rLink;
C、s->lLink=p;s->rLink=p->rLink;p->rLink=s;p->rLink->1Link=s;
D、s->1Link=p;s->rLink=p->rLink;p->rLink->ILink=s;p->rLink=s;
线性链表中结点的结构为(data,next)。已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列()操作。
A.s->next=p;p->next=s;
B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;
D.p->next=s;s->next=p;
函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空
include <stdio.h>
struct node
{ int data;
struct node *next;
};
int min(struct node *first)/*指针first为链表头指针*/
{ struct node *p; int m;
p=first->next; re=p->data; p=p->next;
for(;p!=NULL;p=【 】)
if(p->data<m ) re=p->data;
return m;
}
A.s↑.link:=p↑.link;p↑.link:=s
B.q↑.link:=s;s↑.link:=p
C.p↑.link:=s↑.link;s↑.link:=p
D.p↑.link:=s;s↑.link:=q
A.q=p->next;p->data=q->data;p->next=q->next;free(q)
B.q=p->next;q->data=p->data;p->next=q->next;free(q)
C.q=p->next;p->next=q->next;free(q)
D.q=p->next;p->data=q->data;free(q)