C/C++ | 28-20 写出程序删除链表中的所有节点
来源:互联网 发布:善用佳软 知乎 编辑:程序博客网 时间:2024/06/06 03:10
/*删除所有链表的节点*/#include <cstdio>#include <deque>#include <algorithm>#include <iterator>#include <stdio.h> #include <stdlib.h>#include <iostream>#include <string.h>#include <assert.h>using namespace std;typedef struct LNode{int data;struct LNode *next;}LNode;LNode *CreatLink(int num) // 构造{int i=1;LNode *head, *tail, *p;head = (LNode *)malloc(sizeof(LNode));tail = head;while (num--){p = (LNode *)malloc(sizeof(LNode));p->data = i;tail->next = p;tail = p;i++;}tail->next = NULL;return head;}LNode *FindLink(LNode *head,int X) //查找{assert( head != NULL);LNode *chick=head->next;while (chick != NULL){if (chick->data == X)return chick;elsechick = chick->next;}return NULL;}void DeleteLink(LNode *head, int X) //删除{assert(head != NULL);LNode *p;LNode *q;p=FindLink(head, X);q = p->next;p->data = q->data;p->next = q->next;free(q);}void DeleteAllLink(LNode *head){assert(head != NULL);LNode *p ;while (head!=NULL){p = head->next;free(head);head = p;}cout << "all Linked Deleted!" << endl; //在这里head已为NULL}int main(){LNode *head = CreatLink(50);DeleteLink(head, 5);DeleteAllLink(head);system("pause");//这里head随机给值了return 0;}
阅读全文
0 0
- C/C++ | 28-20 写出程序删除链表中的所有节点
- C/C++ | 27-19 写出程序把一个链表中的接点顺序倒排
- C语言入门:删除链表节点
- c实现对给定线性链表head按节点值非递减次序输出所有节点,并把刚输出的节点从链表中删除
- 删除C程序中的注释
- 头节点链表C程序
- 删除c语言中的所有注释语句
- 【K&R 习题 1-23】删除C/C++语言中的程序中的所有注释语句
- C链表操作(删除节点、反转链表)
- C语言实现链表节点的插入和删除
- C语言实现链表节点的插入和删除
- C/C++删除单向链表全部匹配节点
- 编写一个C程序删除一个文件的所有注释
- Remove Duplicates from Sorted List II 删除链表中的所有重复节点
- C语言删除链表中的结点
- C语言实现双向链表删除节点、插入节点、双向输出等操作
- C语言 链表中删除节点
- 二叉排序树节点删除(c++)
- C/C++ | 27-19 写出程序把一个链表中的接点顺序倒排
- Python学习(三)——字典、有序字典、集合
- Vim代码补全插件YouCompleteMe的自动化安装[转]
- 矩阵分解在推荐系统的应用以及python代码的实现
- tcpcopy的工作原理
- C/C++ | 28-20 写出程序删除链表中的所有节点
- redis windows系统下安装
- H
- HDU 2017 多校联赛2 1001 Is Derek lying?
- Floyd算法
- C/C++ | 29-21 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
- html5
- 数字签名技术简介
- HDU 1301 Jungle Roads(最小生成树+克鲁斯卡尔算法)