知识大全 数据结构与算法线性表复习习题2
Posted 结点
篇首语:药农进山见草药,猎人进山见禽兽。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构与算法线性表复习习题2相关的知识,希望对你有一定的参考价值。
已知L是无表头结点的单链表 且P结点既不是首元结点 也不是尾元结点 试从下列提供的答案中选择合适的语句序列
a 在P结点后插入S结点的语句序列是__________________
b 在P结点前插入S结点的语句序列是__________________
c 在表首插入S结点的语句序列是__________________
d 在表尾插入S结点的语句序列是__________________
( ) P >next=S;
( ) P >next=P >next >next;
( ) P >next=S >next;
( ) S >next=P >next;
( ) S >next=L;
( ) S >next=NULL;
( ) Q=P;
( ) while(P >next!=Q) P=P >next;
( ) while(P >next!=NULL) P=P >next;
( ) P=Q;
( ) P=L;
( ) L=S;
( ) L=P;
解 a ( ) ( )
b ( ) ( ) ( ) ( ) ( )
c ( ) ( )
d ( ) ( ) ( )
已知L是带表头结点的非空单链表 且P结点既不是首元结点 也不是尾元结点 试从下列提供的答案中选择合适的语句序列
a 删除P结点的直接后继结点的语句序列是____________________
b 删除P结点的直接前驱结点的语句序列是____________________
c 删除P结点的语句序列是____________________
d 删除首元结点的语句序列是____________________
e 删除尾元结点的语句序列是____________________
( ) P=P >next;
( ) P >next=P;
( ) P >next=P >next >next;
( ) P=P >next >next;
( ) while(P!=NULL) P=P >next;
( ) while(Q >next!=NULL) P=Q; Q=Q >next;
( ) while(P >next!=Q) P=P >next;
( ) while(P >next >next!=Q) P=P >next;
( ) while(P >next >next!=NULL) P=P >next;
( ) Q=P;
( ) Q=P >next;
( ) P=L;
( ) L=L >next;
( ) free(Q);
解 a ( ) ( ) ( )
b ( ) ( ) ( ) ( ) ( )
c ( ) ( ) ( ) ( ) ( )
d ( ) ( ) ( ) ( )
e ( ) ( ) ( ) ( )
已知P结点是某双向链表的中间结点 试从下列提供的答案中选择合适的语句序列
a 在P结点后插入S结点的语句序列是_______________________
b 在P结点前插入S结点的语句序列是_______________________
c 删除P结点的直接后继结点的语句序列是_______________________
d 删除P结点的直接前驱结点的语句序列是_______________________
e 删除P结点的语句序列是_______________________
( ) P >next=P >next >next;
( ) P >priou=P >priou >priou;
( ) P >next=S;
( ) P >priou=S;
( ) S >next=P;
( ) S >priou=P;
( ) S >next=P >next;
( ) S >priou=P >priou;
( ) P >priou >next=P >next;
( ) P >priou >next=P;
( ) P >next >priou=P;
( ) P >next >priou=S;
( ) P >priou >next=S;
( ) P >next >priou=P >priou;
( ) Q=P >next;
( ) Q=P >priou;
( ) free(P);
( ) free(Q);
解 a ( ) ( ) ( ) ( )
b ( ) ( ) ( ) ( )
c ( ) ( ) ( ) ( )
d ( ) ( ) ( ) ( )
e ( ) ( ) ( )
简述以下算法的功能
( ) Status A(LinkedList L) //L是无表头结点的单链表
if(L && L >next)
Q=L;L=L >next;P=L;
while(P >next) P=P >next;
P >next=Q;Q >next=NULL;
return OK;
( ) void BB(LNode *s LNode *q)
p=s;
while(p >next!=q) p=p >next;
p >next =s;
void AA(LNode *pa LNode *pb)
//pa和pb分别指向单循环链表中的两个结点
BB(pa pb);
BB(pb pa);
解 ( ) 如果L的长度不小于 将L的首元结点变成尾元结点
cha138/Article/program/sjjg/201311/23410相关参考
指出以下算法中的错误和低效之处并将它改写为一个既正确又高效的算法 StatusDeleteK(SqList&aintiintk) //本过程从顺序存储结构的线性表a中删除第i个元素
试写一算法对单链表实现就地逆置 解 //带头结点的单链表的逆置 StatusListOppose_L(LinkList&L) LinkListpq; p=L; p=p>
已知指针la和lb分别指向两个无头结点单链表中的首元结点下列算法是从表la中删除自第i个元素起共len个元素后将它们插入到表lb中第i个元素之前试问此算法是否正确?若有错请改正之 StatusD
对题的条件作以下两点修改对单链表重新编写求得表C的算法 ()假设在同一表(A或B)中可能存在值相同的元素但要求新生成的表C中的
已知AB和C为三个递增有序的线性表现要求对A表作如下操作删去那些既在B表中出现又在C表中出现的元素试对顺序表编写实现上述操作的算法并分析你的算法的时间复杂度(注意题中没有特别指明同一表中的元素值各
第章 线性表 描述以下三个概念的区别头指针头结点首元结点(第一个元素结点) 解头指针是指向链表中第一个结点的指针首元结点是指链表中存储第一个数据元素的结点头结点是在首元结点之前附设的
假设在算法描述语言中引入指针的二元运算异或若a和b为指针则a⊕b的运算结果仍为原指针类型且 a⊕(a⊕b)=(a⊕a)⊕b=b
在程序设计中常用下列三种不同的出错处理方式 ()用exit语句终止执行并报告错误 ()以函数的返回值区别正确返回或错误返回
已知长度为n的线性表A采用顺序存储结构请写一时间复杂度为(n)空间复杂度为()的算法该算法删除线性表中所有值为item的数据元素(O()表示算法的辅助空间为常量) 【北京航空航天大学五(分)】