数据结构链表问题 15
已知L是无表头的单链表,其P结点既不是首元结点,也不是尾元结点,在p结点后插入s结点的语句序列是Q.已知L是无表头的单链表,其P结点既不是首元结点,也不是尾元结点,c.在...
已知L是无表头的单链表,其P结点既不是首元结点,也不是尾元结点,在p结点后插入s结点的语句序列是
Q. 已知L是无表头的单链表,其P结点既不是首元结点,也不是尾元结点,
c.在表首插入s结点的语句序列是----------------
d.在表尾插入s结点的语句序列是----------------
1. P-> next :=s;
2.p-> next :=p-> next-> next;
3.p-> next :=s-> next;
4.s-> next := p-> next;
5.s-> next := L;
6.s-> next := NIL;
7.q := p ;
8.while (p-> next != q ) do p := p-> next;
9.while (p-> next !=NIL) do p := p-> next;
10.p := q;
11.p := L;
12.L := s;
13.L:= P;
c和d答案分别是什么?d我写的是9、1、6,为什么答案给的是11、9、1、6? 展开
Q. 已知L是无表头的单链表,其P结点既不是首元结点,也不是尾元结点,
c.在表首插入s结点的语句序列是----------------
d.在表尾插入s结点的语句序列是----------------
1. P-> next :=s;
2.p-> next :=p-> next-> next;
3.p-> next :=s-> next;
4.s-> next := p-> next;
5.s-> next := L;
6.s-> next := NIL;
7.q := p ;
8.while (p-> next != q ) do p := p-> next;
9.while (p-> next !=NIL) do p := p-> next;
10.p := q;
11.p := L;
12.L := s;
13.L:= P;
c和d答案分别是什么?d我写的是9、1、6,为什么答案给的是11、9、1、6? 展开
1个回答
展开全部
c.在表首插入s结点的语句序列是----------------
5.s-> next := L; //s接原来的表头
12.L := s; //将s设为新的表头
d.在表尾插入s结点的语句序列是----------------
11.p := L; //从头开始搜素
9.while (p-> next !=NIL) do p := p-> next; //找到最后一个节点
1. P-> next :=s; //把s接到最后一个节点上
6. s-> next := NIL; //将s设置为表尾。
5.s-> next := L; //s接原来的表头
12.L := s; //将s设为新的表头
d.在表尾插入s结点的语句序列是----------------
11.p := L; //从头开始搜素
9.while (p-> next !=NIL) do p := p-> next; //找到最后一个节点
1. P-> next :=s; //把s接到最后一个节点上
6. s-> next := NIL; //将s设置为表尾。
更多追问追答
追问
11.p := L; //从头开始搜素这一步为什么不能省略呢?不是说P是在中间吗?往后查找总会到尾部的
追答
如果省略11的话,第一步p := p-> next;就会将p节点的信息丢失,11其实起的是临时指针的作用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询