删除list中的一个节点
来源:互联网 发布:win10无法连接这个网络 编辑:程序博客网 时间:2024/04/28 16:07
1、删除list中的一个节点,给定位置为i
typedef struct _list_t { struct _list_t *next; int data; }list; void delete_node(list *head, int i){ list *p = head, *q = NULL; int j = 0; if ((NULL == head) || (0 >= i)) { return ; } while ((NULL != p) && (j < i-1)) { j++; p = p->next; } if ((NULL != p) && (NULL != p->next)) { q = p->next; p->next=q->next; free(q); q = NULL; }}
2、给定元素key,根据key来删除对应的节点
- #include<iostream>
- using namespace std;
- typedef struct node
- {
- int number;
- struct node *next;
- }Node;
- Node *Delete(Node *head,int key)
- {
- Node *node1=head;
- Node *node2=NULL;
- if (head==NULL)
- {
- return NULL;
- }
- else
- {
- if (node1->number==key)
- {
- head=head->next;
- free(node1);
- return head;
- }
- else
- {
- while (node1!=NULL)
- {
- node2=node1;
- node2=node2->next;
- if (node2->number==key)
- {
- node1->next=node2->next;
- free(node2);
- break;
- }
- node1=node1->next;
- }
- return head;
- }
- }
- }
1 0
- 删除list中的一个节点
- 删除二叉排序树中的一个节点
- LeetCode 237. Delete Node in a Linked List(删除链表中的一个节点)
- 删除一个链表中的节点
- 删除一个没有头节点链表中的某个节点
- STL list erase 删除一个节点后,迭代器会失效吗
- 删除一个已知节点
- 无头单链表删除一个节点
- c++ list 遍历删除节点
- O(1)时间内删除单向链表中的一个节点
- 删除vector中的节点
- 删除无头单链表中的节点
- java中,删除一个List中的后n个元素
- 如何遍历删除一个list中的特定数据
- Delete Node in a Linked List 删除链表的一个节点
- LeetCode237_Delete Node in a Linked List(删除链表中的节点) Java题解
- LeetCode 82. Remove Duplicates from Sorted List II(删除链表中的重复节点)
- Delete Node in a Linked List 删除链表中的某个节点
- poj_3368 Frequent values(RMQ)
- 开源库Magicodes.WeChat.SDK总体介绍
- 嵌入式开发概述
- 设置a的bit 3,清除a 的bit 3
- 我眼中的Android Framework
- 删除list中的一个节点
- 1007. Red-black Tree (35)解题报告
- 八大排序
- manifestdependency,manifest文件
- Android---动画机制(三)----自定义动画
- 用OpenSSL编写SSL,TLS程序--1
- CSS优化概述
- [Azure]Azure经典模式中单个云服务下的虚拟机开机脚本
- Jquery表单插件ajaxForm