数据结构的问题,这个答案看不懂。。求解释 ,最好画图。。容易理解 谢谢啦

如题所述

哪里看不懂?我给你写个注释吧。

s = p; // 先用临时变量s记录
while (s->next->next != p) // 查找p的直接前趋结点的前趋结点
   s = s->next; // 不是p的直接前趋,则挪动s指针继续向后找
// 当找到p的直接前趋结点的前趋结点后,退出循环,且s指向该前趋结点
//删除结点
q = s->next; // 暂存该前趋结点的下一结点,也就是p的直接前趋结点
s->next = q->next; // 将p赋给p的前趋结点的前趋结点的next,这样p的前趋结点就被删掉了。
// 注: 其实这里直接 s->next = p; 就行了
free(s); // 清除p的前趋结点所占用的空间

追问

看不懂
~(>_<)~

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答