删除一个没有头节点链表中的某个节点
来源:互联网 发布:淘宝网 话费充值 编辑:程序博客网 时间:2024/04/28 19:13
题目描述:给定一个链表,没有头节点,如何删除其中的某个随机节点呢?
分析:如果一个链表没有头节点的话,那么我们就不可以找到被删除节点的前面一个节点。如何按照这个思路来,就无法实现功能了。
不如我们换一个思路,删除节点的目的是什么?是要达到被删除节点中的data被删除,也就是说,我们实际上只需要删除该节点的data,而不是整个节点。如何实现呢?我们可以把需要删除节点的后面一个节点中的data,依次往前面赋值,并把此节点删除,即可。例如:ABCD三个节点,假如我们需要删除B节点,那么我们可以把C->data赋值给B->data,让D和B相连,删除C,即可。
代码如下:
void DeleteNode(node* pCurrent){ if(pCurrent == NULL) return NULL; node* pNext = pCurrent->next; if(pNext != NULL) { pCurrent->next = pNext->next; pCurrent->data = pNext->data; delete pNext; }}
参考:
《编程之美》
1 0
- 删除一个没有头节点链表中的某个节点
- 删除单向链表中的某个节点
- 删除没有头结点的链表指点节点操作
- 删除子父节点中的某个节点
- 删除一个链表中的节点
- 删除单链表中的某个节点
- 删除单链表中的某个节点
- CCI 2.3 删除单向链表中的某个节点,假设只能访问该节点
- 给定链表中某个节点的指针,删除链表中的该节点
- 双向链表 删除某个节点
- 约瑟夫问题(没有头节点的循环链表2——删除法)
- 怎么删除一个没有头指针的单链表的一个节点?
- O(1)时间内删除单向链表中的一个节点
- 1.01一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
- 删除二叉排序树中的一个节点
- 删除list中的一个节点
- 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
- 一个单向链表,只知道某个节点的指针p,但是p不是尾节点,请编程删除节点p.
- 自己动手写编译器、链接器-第一章
- java中long 转换成 int
- 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)
- IOS-搜索功能实现, UIsearchController的使用
- MATLAB遍历子文件夹及其下文件
- 删除一个没有头节点链表中的某个节点
- http请求调用
- 修改苹果开发者账号的资料
- MongoDB学习 (六):查询
- UVa #1614 Hell on the Markets (习题8-10)
- 源码下载
- 搭建最新cocos开发环境的注意事项
- 正则表达式和字符串处理
- 自己动手写编译器、链接器-第二章