在O(1)时间删除链表结点
来源:互联网 发布:尔雅网络课 编辑:程序博客网 时间:2024/06/05 19:25
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点
思路是将需要删除节点的值变为他的下一结点,然后删除它的下一结点,这样就像是变相删除了该节点。
void
delete_node(node *list,node *toBeDeletedNode){
if
(toBeDeletedNode->next){
//不为尾节点
node *p=toBeDeletedNode->next;
//修改需要删除那个节点的值,再删除它的后一节点
toBeDeletedNode->data=p->data;
toBeDeletedNode->next=p->next;
delete
p;
}
else
{
//尾节点
node *p=list;
while
(p->next!=toBeDeletedNode){
p=p->next;
}
p->next=NULL;
delete
toBeDeletedNode;
}
}
0 0
- 在O(1)时间删除链表结点--总结
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点
- 033-在O(1)时间删除链表结点
- 在O(1)平均时间删除链表结点 [# 13]
- 在O(1)时间删除链表结点
- 在O(1)平均时间删除链表结点
- 在O(1)时间删除链表结点--总结
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点
- 在O(1)时间删除指定链表结点
- 在o(1)时间删除链表结点
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点[数据结构]
- 在O(1)时间删除链表结点
- 在O(1)时间删除链表结点
- [Unity3D]Unity3D游戏开发之使用UniSky呼风唤雨
- Core Foundation 对象不属于ARC的管辖范围
- linux+svn+google
- 高效开发 Android App 的 10 个建议
- 很早以前翻译的一篇文章,今天用到,又温习了一下,从博客转过来和大家分享。
- 在O(1)时间删除链表结点
- Android中的消息机制
- 找两个链表的第一个公共结点
- 解决Android SDK Manager更新、下载速度慢
- 递归
- Diff lcs
- 在Eclipse中安装ADT
- python读写文件
- fedora实用一些小软件