数据结构第2章例题与答案2
来源:优易学  2010-1-14 18:12:43   【优易学:中国教育考试门户网】   资料下载   IT书店

16.非空的循环单链表head的尾结点p↑满足(    )。【武汉大学 2000 二、10】
a.p↑.link=head       b.p↑.link=nil         c.p=nil     d.p= head
17.循环链表h的尾结点p的特点是(    )。【中山大学 1998 二、2(2分)】
    a.p^.next:=h         b.p^.next:= h^.next        c.p:=h      d.p:=h^.next
18.在一个以 h 为头的单循环链中,p 指针指向链尾的条件是()【南京理工大学1998 一、15(2分)】
 a. p^.next=h    b. p^.next=nil  c. p^.next.^next=h   d. p^.data=-1
19.完成在双循环链表结点p之后插入s的操作是(    );【北方交通大学 1999 一、4(3分)】
a. p^.next:=s ; s^.priou:=p; p^.next^.priou:=s ; s^.next:=p^.next;
b. p^.next^.priou:=s; p^.next:=s; s^.priou:=p; s^.next:=p^.next;
c. s^.priou:=p; s^.next:=p^.next; p^.next:=s; p^.next^.priou:=s ;
d. s^.priou:=p; s^.next:=p^.next; p^.next^.priou:=s ; p^.next:=s; 
20.在双向循环链表中,在p指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是(    )。【北京邮电大学 1998 二、2(2分)】
注:双向链表的结点结构为(llink,data,rlink)。 供选择的答案:
a. p↑.llink:=q; q↑.rlink:=p;         p↑.llink↑.rlink:=q; q↑.llink:=q;
b. p↑.llink:=q; p↑.llink↑.rlink:=q ; q↑.rlink:=  p;       q↑.llink:=p↑.llink;
c. q↑.rlink:=p; q↑.llink:=p↑.llink; p↑.llink↑.rlink:=q;  p↑.llink:=q;
d. q↑.llink:=p↑.llink;q↑.rlink:=p; p↑.llink:=q;p↑.llink:=q;(编者按:原题如此)
21.在非空双向循环链表中q所指的结点前插入一个由p所指的链结点的过程依次为:
rlink(p) ← q;  llink(p) ← llink(q);  llink(q) ← p; (    ) 
a.rlink(q) ← p  b.rlink(llink(q)) ← p c.rlink(llink(p)) ← p d.rlink(rlink(p)) ← p
 【北京航空航天大学 2000 一、1(2分)】
22. 双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为(  )【南京理工大学1996 一、1(2分)】 
a.  p^.llink:=q;  q^.rlink:=p;  p^.llink^.rlink:=q;  q^.llink:=p^.llink;
b.  q^.llink:=p^.llink;  p^.llink^.rlink:=q;  q^.rlink:=p;  p^.llink:=q^.rlink; 
c.  q^.rlink:=p;  p^.rlink:=q;  p^.llink^.rlink:=q;  q^.rlink:=p;
d.  p^.llink^.rlink:=q;  q^.rlink:=p;  q^.llink:=p^.llink;  p^.llink:=q;
23.在双向链表指针p的结点前插入一个指针q的结点操作是(    )。【青岛大学 2000 五、2(2分)】
a.  p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=q;
b.  p->llink=q;p->llink->rlink=q;q->rlink=p;q->llink=p->llink;
c.  q->rlink=p;q->llink=p->llink;p->llink->rlink=q;p->llink=q;
d.  q->llink=p->llink;q->rlink=q;p->llink=q;p->llink=q; 
24.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:(    )。
a.p->next=s;s->next=p->next;  b. s->next=p->next;p->next=s;
c.p->next=s;p->next=s->next;  d. p->next=s->next;p->next=s;
【青岛大学 2001 五、3(2分)】
25.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是(    )
a.head==null  b.head→next==null    c.head→next==head   d.head!=null
【北京工商大学 2001 一、5(3分)】
26. 在双向链表存储结构中,删除p所指的结点时须修改指针(    )。
a. (p^.llink)^.rlink:=p^.rlink    (p^.rlink)^.llink:=p^.llink;
b. p^.llink:=(p^.llink)^.llink    (p^.llink)^.rlink:=p;
c. (p^.rlink)^.llink:=p           p^.rlink:=(p^.rlink)^.rlink
d. p^.rlink:=(p^.llink)^.llink     p^.llink:=(p^.rlink)^.rlink;
【西安电子科技大学 1998 一、1(2分)】
27. 双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是(    )(链中结点数大于2,p不是第一个结点)
a.p^.llink^.rlink:=p^.llink;  p^.llink^.rlink:=p^.rlink;  dispose(p);
b.dispose(p);  p^.llink^.rlink:=p^.llink;  p^.llink^,rlink:=p^.rlink;
c.p^.llink^.rlink:=p^.llink;  dispose(p);  p^.llink^.rlink:=p^.rlink;
d.以上a,b,c都不对。  【南京理工大学 1997 一、1(2分)】 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训