更多"写出带头结点的双向循环链表L为空表的条件()。"的相关试题:
[单项选择]在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()。
A. p->next=q;q->prior=p;p->next->prior=q;q->next=q;
B. p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
C. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
D. q->next=p->next;q->prior=p;p->next=q;p->next=q;
[判断题]在具有头结点的单链表中,头指针指向链表的第一个数据结点。
[简答题]已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…,an),A为指向空的顺序表的指针。阅读以下程序段,并回答问题:(1)写出执行下列程序段后的顺序表A中的数据元素;(2)简要叙述该程序段的功能。if(head->next!=head){p=head->next;A->length=0;while(p->next!=head){p=p->next;A->data[A->length++]=p->data;if(p->next!=head)p=p->next;}}
[判断题]若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
[简答题]设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。
[填空题]在n个结点的单链表中要删除已知结点*p,需找到它的(),其时间复杂度为()。
[单项选择]在循环双链表的p所指的结点之前插入s所指结点的操作是()。
A. p->prior->prior
B. p->prior->prior
C. s->prior->next=s
D. s->prior->prior=s
[简答题]编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。
[单项选择]针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则()。
A. p指向头结点
B. p指向尾结点
C. p的直接后继是头结点
D. p的直接后继是尾结点
[简答题]编写算法,实现带头结点单链表的逆置算法。
[单项选择]循环链表的主要优点是()。
A. 不再需要头指针
B. 已知某结点位置后能容易找到其直接前驱
C. 在进行插入、删除运算时能保证链表不断开
D. 在表中任一结点出发都能扫描整个链表
[简答题]有两个循环链表,链头指针分别为L1和L2,要求写出算法将L2链表链到L1链表之后,且连接后仍保持循环链表形式。
[单项选择]在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。
A. O(1)
B. O(n)
C. O(n2)
D. O(nlog2n)
[单项选择]对于线性表(由n个同类元素构成的线性序列),采用单向循环链表存储的特定之一是()
A. 从表中任意节点出发都能遍历整个链表
B. 对表中的任意节点可以进行随机访问
C. 对于表中的任意一个节点,访问其直接前趋和直接后继节点所用时间相同
D. 第一个节点必须是头节点
[判断题]在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next;