严蔚敏:数据结构题集(C语言)P15,2.8答案
[color=#FF0000][/color][size=18px][/size]P结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。
a.在P结点后插入S结点的语句序列是____________________。
b.在P结点前插入S结点的语句序列是____________________。
c.删除P结点的直接后继结点的语句序列是_______________。
d.删除P结点的直接前驱结点的语句序列是_______________。
e.删除P结点的语句序列是______________。
(1)P->next=P->next->next;
(2)P->priou=P->priou->priou;
(3)P->next=S;
(4)P->priou=S;
(5)S->next=P;
(6)S->priou=P;
(7)S->next=P->next;
(8)S->priou=P->priou;
(9)P->priou->next=P->next;
(10)P->priou->next=P;
(11)P->next->priou=S;
(12)P->next->priou=S;
(13)P->priou->next=S;
(14)P->next->priou=P->priou;
(15)Q=P->next;
(16)Q=P->priou;
(17)free(P);
(18)free(Q);
[解决办法]
a.(7)S->next=P->next;(3)P->next=S;
(11)P->next->priou=S;(6)S->priou=P;
b.(8)S->priou=P->priou;(4)P->priou=S;
(13)P->priou->next=S;(5)S->next=P;
c.(15)Q=P->next;P->next=Q->next;Q->next->priou=P;(15)Q=P->next;
d.(15)Q=P->priou;P->priou=Q->priou;Q->priou->next=P;(15)Q=P->next;
e.(14)P->next->priou=P->priou;(9)P->priou->next=P->next;(17)free(P);
大半年没看数据结构了,不知是否正确。