数据结构
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下
——老子
1
每日一练
1. 循环单链表的最大优点是:________。
2. 已知指针 p 指向单链表 L 中的某结点,则删除其后继结点的语句是:________。
3. 带头结点的双循环链表 L 中只有一个元素结点的条件是:________。
4. 在单链表 L 中,指针 p 所指结点有后继结点的条件是:__ 。
5.带头结点的双循环链表 L 为空表的条件是:________。
6. 在单链表 p 结点之后插入 s 结点的操作是:_______。
7.请在下列算法的横线上填入适当的语句。
FUNCTION inclusion(ha,hb:linklisttp):boolean;
{以 ha 和 hb 为头指针的单链表分别表示有序表 A 和 B,本算法判别表 A 是否包含在表 B 内,若是,则返回“true”,否则返回“false”}
BEGIN
pa:=ha^.next; pb:=hb^.next; (1) ;
WHILE(2) DO
IF pa^.data=pb^.data THEN(3) ELSE(4) ;
(5)
END;
正确答案
1.从任一结点出发都可访问到链表中每一个元素。
2.u=p->next; p->next=u->next; free(u);
3.L->next->next==L
4.p->next!=null
5.L->next==L && L->prior==L
6.s->next=p->next;p->next=s
7.
(1) IF pa=NIL THEN return(true);
(2) pb<>NIL AND pa^.data>=pb^.data
(3) return(inclusion(pa,pb));
(4) pb:=pb^.next;
(5) return(false);
如果您觉得本篇文章对您有作用,请转发给更多的人,点一下好看就是对小编的最大支持!
-end-
你学习了么?
长按关注
文 | 闫小林