删除链表最小节点c语言,最简单的链表删除第一个节点时释放内存的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1 #include
2
#include "list.h"
3
4 int IsEmpty(List L)
5 {
6 return L->Next == NULL;
7 }
8
9 int IsLast(Position P, List L)
10
{
11 return P->Next == NULL;
12 }
13
14 Position Find(int X, List L)
15 {
16 Position P;
17
18 P = L->Next;
19 while (P != NULL && P->Element != X)
20 {
21 P =
P->Next;
22 }
23
24 return P;
25 }
26
27 void Delete(int X, List
L)
28 {
29
Position P, TmpCell;
30
31 P = FindPrevious(X, L);
32
33 if (!IsLast(P, L))
34
{
35 TmpCell =
P->Next;
36 P->Next =
TmpCell->Next;
37
free(TmpCell);
38 }
39
40 return;
41 }
42
43 Position
FindPrevious(int X, List L)
44
{
45 Position P;
46
47 P = L;
48 while (P->Next !=
NULL && P->Next->Element != X)
49 {
50 P =
P->Next;
51 }
52
53 return P;
54 }
55
56 void Insert(int X, List L,
Position P)
57 {
58
Position TmpCell;
59
60 TmpCell = malloc(sizeof(struct Node));
61
62 if (TmpCell == NULl)
63
{
64 fprintf(stderr, "Out of
space!!!");
65 exit(1);
66 }
67
68
TmpCell->Element = X;
69
TmpCell->Next = P->Next;
70
P->Next = TmpCell;
71
72 return;
73 }
74
75 void DeleteList(List
L)
76 {
77
Position P, Tmp;
78
79 p = L->Next;
80
L->Next = NULL;
81 while (P != NULL)
82 {
83 Tmp = P->Next;
84
free(P);
85 P =
Tmp;
86 }
87
}
删除链表最小节点c语言,最简单的链表删除第一个节点时释放内存的问题相关推荐
- c语言单链表_突破C语言难点之单链表?一绘图即可
数据结构之单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元 存放线性表中的数据元素 .链表中的数据是以结点来表示的,每个结点的构成:元素( 数据元素 的映象) + 指针 (指示后继元素 ...
- html5数组删除相同数据,js数组相减简单示例【删除a数组所有与b数组相同元素】...
js数组相减简单示例[删除a数组所有与b数组相同元素] 本文实例讲述了js数组相减.分享给大家供大家参考,具体如下: js数组相减 function arrChange( a, b ){ for (v ...
- c语言链表删除前一个节点,最简单的链表删除第一个节点时释放内存的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 #include 2 #include "list.h" 3 4 int IsEmpty(List L) 5 { 6 r ...
- c语言释放整个链表,最简单的链表删除第一个节点时释放内存的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 #include 2 #include "list.h" 3 4 int IsEmpty(List L) 5 { 6 r ...
- 释放链表内存C语言,最简单的链表删除第一个节点时释放内存的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 #include 2 #include "list.h" 3 4 int IsEmpty(List L) 5 { 6 r ...
- c 语言链表 删除第一个节点,最简单的链表删除第一个节点时释放内存的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 #include 2 #include "list.h" 3 4 int IsEmpty(List L) 5 { 6 r ...
- c语言实现简单环形链表,c语言实现简单链表 - 阿豪boy的个人空间 - OSCHINA - 中文开源技术交流社区...
#include #include #define ElemType int typedef struct{ ElemType e; struct Node *next; } Node,*pNode; ...
- 海豚php如何添加节点,python+matplotlib绘制简单的海豚(顶点和节点的操作)
海豚 本文例子主要展示了如何使用补丁.路径和转换类绘制和操作给定的顶点和节点的形状. 测试可用. import matplotlib.cm as cm import matplotlib.pyplot ...
- c语言记忆化搜索,HNUSTC语言基础简单数据结构acm入门第一讲搜索.ppt
C语言基础,简单数据结构,ACM入门讲座搜索部分 Bjut:mark063 2010.10.30 1 Evaluation only. Created with Aspose.Slides for . ...
最新文章
- 发现华为才是真·手机公司,小米确实不靠卖手机赚钱...
- 函数指针的两种调用方式
- 嵌入式之NB-IoT开发与应用01【移动通信网络发展概述、NB-IoT应用案例、物联网生态系统-解决方案、智慧消防项目需求分析及系统设计】
- 6410 linux内核移植
- Timus1286(欧几里德算法的应用)
- 二分查找(一次查找多个相同的值)
- React div加载背景图
- 【OS学习笔记】三十五 保护模式十:中断描述符表、中断门和陷阱门
- 设计模式-里氏替换原则
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_02.三层架构和ssm框架的对应关系
- SSH+ExtJS实战开发视频教程
- 软件测试——Postman Script脚本功能
- 用计算机弹刚好一点,《计算机组成原理》作业解答(14级)
- FPGA数字IC的Verilog刷题解析基础版02——T触发器(异步复位和同步复位)
- 用C++做的文本分割器(就是黑乎乎的那个)
- PHP输出分割线,dede标签调用大全dedecms隔五行一个分割线_PHP教程
- 视音频冷知识——音箱线
- std::system
- 疾病研究:重症肌无力医师指南
- Android的六大基本布局
热门文章
- CentOS, 高速设置ssh无password登录
- 学习redhat linux 6.1中文版笔记
- 初识OR Mapping
- 怎么把video文件改成mp4_如何把视频转换成mp4格式?
- android 实现表格横向混动_Flutter混合开发和Android动态更新实践
- 组装计算机的游戏,如何组装一台游戏电脑
- mysql PHP注册代码_求分享简单的php注册+mysql数据库登录源码
- 是否可以从一个static方法内部发出对非static方法的调用?
- matlab python比较_MATLAB与Python的比较
- Thymeleaf 标准表达式语法详解