试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法void delete(Linklist&L)。【北京理工大学2001九、3(8分)】
A.工厂方法
B.迭代器
C.组合
D.代理
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的十字链表中行值相同的两个结点)。