请在下列算法的横线上填入适当的语句。以ha和hb为头指针的单链表分别表示有序表A和B,本算法判别表A是否包含在表B内,若是,则返回“true”,否则返回“false”。
第1题:
下列是用头插法建立带头结点的且有n个结点的单向链表的算法,请在空格内填上适当的语句。
head=p;q=p;p->next=NULL;p->next=q->next;q->next=p
略
第2题:
对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()
A.用尾指针表示的单循环链表
B.顺序表
C.用头指针表示的单循环链表
D.单链表
第3题:
1、有两个递增有序表,所有元素为整数,均采用带头结点的单链表存储,结点类型定义如下: typedef struct node { int data; struct node *next; } LinkNode; 设计一个尽可能高效的算法,将两个递增有序单链表ha、hb合并为一个递减有序单链表hc,要求算法空间复杂度为O(1)。
第4题:
下列是在具有头结点单向链表中删除第i个结点的算法,请在空格内填上适当的语句。
q=q->next;p=q->next;q->next=p->next
略
第5题:
设指针la和lb分别指向两个无头结点单链表中的首元结点,试设计从表la中删除自第i个元素起共len个元素,并将它们插入到表lb的第j个元素之后的算法。