在链表中插入一个元素,只涉及插入位置(即新结点的前驱结点)和新结点这两个结点的指针调整,对链表中的其它结点并无影响()
是
是
已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的节点,使插入后该单链表仍有序。
稀疏矩阵相加。两个稀疏矩阵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.非循环的单链表
B.仅有头指针的单循环链表
C.非循环的双链表
D.仅有尾指针的单循环链表
A.删除所有值为x的元素
B.在最后一个元素的后面插入一个新元素
C.顺序输出前k个元素
D.交换第i个元素和第n-i-1个元素的值(i=1,1,n)
A.p一>prior=q;q->next=p;p一>prior一>next=q;q一>prior=p一>prior;
B.q->prior=p->prior;p->prior一>next=q;q一>next=p;p->prior=q->next;
C.q->next=p;p一>next=q;p->prior一>next=q;q->next=p;
D.p->prior一>next=q;q->next=p;q->prior=p一>prior;p->prior=q;
对线性表,在下列哪种情况下应当采用链表表示________。
A.经常需要随机地存取元素
B.经常需要进行插入和删除操作
C.经常需要占据一片连续的存储空间
D.表中元素的个数不变
A、
B、
C、
D、