If only given the pointer to the node to be deleted? Note the node is not the first one nor the last.
如果在单链表中删除一个指定的结点? 需要注意的是不是头尾结点。
这到题其实就是个小技巧,没有告诉前面的一个结点怎么做删除呢?答案就是把后面结点的内容拷贝过来!这个问题的前提是结点不能使首尾结点,否则就没法做了。
假设数据内容是整型,简化问题。
void delete(Node p){
Node q = p.next;
p.data = q.data;
p.next = q.next;
}
本文介绍了一种在单链表中删除指定中间结点的方法,即通过将待删结点的下一个结点的数据复制到该结点,然后删除下一个结点的方式实现删除操作。
2662

被折叠的 条评论
为什么被折叠?



