试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法void delete(Linklist&L)。【北京理
试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法void delete(Linklist&L)。【北京理工大学2001九、3(8分)】
试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法void delete(Linklist&L)。【北京理工大学2001九、3(8分)】
A.front.next=front.next.next
B.rear=rear.next
C.rear=front.next
D.front=front.next
A.p=NULL;
B.p=head;
C.head=p;
D.p->next=head;
已知一带头结点的递增有序单链表,请在原结点上将其倒序。【南京航空航天大学2004二、4(12分)】
A.head=NULL
B.head->next=NULL
C.head!=NULL
D.head->next!=head
A.顺序存储方式的优点是存储密度大,且插入、删除运算效率高
B.链表中的每一个结点都包含一个指针
C.包含n个结点的平衡二叉排序树的最大检索长度为n
D.顺序存储方式的查找操作时间复杂度为O(n)
数,构造三个新的单链表,使每个单链表中只包含同一类字符.要求使用原表的空间,附加头结点可以另辟空间。
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.非循环的单链表
B.仅有头指针的单循环链表
C.非循环的双链表
D.仅有尾指针的单循环链表
稀疏矩阵相加。两个稀疏矩阵A和B采用十字链表方式存储,计算C=A+B,C采用十字链表方式存储。
算法分析:根据矩阵相加的法则,C中的非零元素cij只可能有3种情况:aij+bij,aij(bij=0),bij(aij=0)。因此,当B加到A上时,对A的十字链表来说,或者是改变结点的val域值aij+bij≠0,或者不变(bij=0),或者插入一个新结点(aij=0),还可能是删除一个结点(aij+bij=0)。整个运算可从矩阵的第一行逐步进行。对每一行都从行表头出发分别找到A和B在该行中的第一个非零元素结点后开始比较,然后按以下4种不同情况分别处理(假设pa和pb分别指向A和B的十字链表中行值相同的两个结点)。