-
2009-02-23
雷人的C++面试题目
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://xingzhesun.blogbus.com/logs/35595053.html
一个单链表,无头指针,指针P指向链表非头非尾节点,如何删除该节点?
随机文章:
怎样检查内存泄漏? 2009-06-192009-03-27 2009-03-27reference的底层几乎都是以指针来完成的 2009-02-16Codejock 的CXTPTabClientWnd 2008-07-25Codejock InitCommandBars 2008-07-17
收藏到:Del.icio.us








评论
比如:
设有类型node 包含成员node* pNext,pNext指向下一node,这是但链表我们无法回朔节点,而且没有头指针,也不能采用从头遍历的方法。
但是有办法的,思考一下链表的结构,每个node的地址都保存在上个node的pNext里,我可以采用保持给定的node地址不变而改变其指向内容被改变的方法,要做个从给定节点到尾节点的遍历,依次将下一个节点的pNext复制给本节点的操作(可以用memcopy方法),最后将尾节点delete掉,当然这个做法比较‘雷’,谁让你不给头节点呢。
如果pNext是个双指针就好了,那就不用这么麻烦了。bz有更好的方法吗?学习了。^-^