假设一个单循环链表,其结点含有三个域pre、data、link。其中data为数据域;pre为指针域,它的值为空指
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的十字链表中行值相同的两个结点)。
A.q—>next=s—>next;s—>next=p;
B.s—>next=P;q—>next=s—>next;
C.p—>next=s—>next;s—>next=q;
D.s—>next=q;p—>next=s—>next;
A.p^. next:=head^. next;head^. next:=p
B.p^. next:=head^. next;head:=p
C.p^. next:=head;head:=p
D.head^. next:=head;p:=head
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。【哈尔滨工业大学2001二、1(2分)】【烟台大学2007一、3(2分)】
A.顺序表
B.双链表
C.带头结点的双循环链表
D.单循环链表
编写算法由二叉树的动态二叉链表构造出相应的静态二又链表a[1..
设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y,的新结点,若将结点y插入结点x之后,则需要执行以下语句:__________;__________;【华中理工大学2000一、4(2分)】
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省时间。
A.单链表
B.仅有头指针的单循环链表
C.双链表
D.仅有尾指针的单循环链表