C语言实现单链表

news/2025/2/27 14:52:12/

        单链表数据结构中最基础的链式结构,它不按照线性的顺序存储数据,而是由若干个同一结构类型的“节点”依次串联而成的,即每一个节点里保存着下一个节点的地址(指针)。

        上图中,一个表头变量head是用来存储链表首节点的地址,链表中每个节点有data(数据)部分和next(下一个节点的地址)部分组成。链表中的最后一个节点称为表尾,其下一个节点的地址部分的值为NULL。链表的各个节点在内存中可能是不连续存放的,具体存放位置由系统分配。

1、单链表结构定义

// 定义链表节点结构体
typedef struct ListNode {int data;				/* 数据域(存储节点数据) */struct ListNode* next;	/* 指针域(指向下一个节点的指针) */
} ListNode;

         定义链表节点结构体struct ListNode,并赋予别名ListNode,故后续代码出现的ListNode可代表struct ListNode。结构体中定义了data存储节点的数据,用struct ListNode*定义了next来存储指向下一节点的指针。

2、主要操作的代码实现

2.1、创建链表

         在应用链表时,往往需要先建立一个链表。建立链表的过程实际上就是不断在链表中插入节点的过程。

// 创建新节点
ListNode* createNode(int val)
{ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));if (!newNode) {printf("内存分配失败!\n");exit(1);}newNode->data = val;newNode->next = NULL;return newNode;
}

         有两种常见的插入节点方式:

(1)在链表的头部不断地插入新节点。

(2)在链表的尾部不断地插入新节点。

 2.2、插入节点

2.2.1、头部插入

// 头部插入
void insertAtHead(ListNode** hea

http://www.ppmy.cn/news/1575266.html

相关文章

渗透小记--Docker Registry未授权访问

在俺的日常工作中,发现了一处有意思的漏洞,所以在此做一个记录。但是我不想泄露公司秘密,不想吃牢饭,所以只能以比较抽象的方式来记录过程了,望各位见谅。 自动操作手法 nmap就能很好的发现,但是俺是…

ollama 提供给外部访问

ollama外部访问 1、修改ollama配置2、增加配置3、重启ollama4、postMan访问效果 1、修改ollama配置 sudo vim /etc/systemd/system/ollama.service2、增加配置 OLLAMA_HOST 绑定的主机与端口 (默认 “127.0.0.1:11434”) OLLAMA_ORIGINS 允许的源的逗号分隔列表 OLLAMA_MODELS…

探索浮点数在内存中的存储(附带快速计算补码转十进制)

目录 一、浮点数在内存中的存储 1、常见的浮点数: 2、浮点数存储规则: 3、内存中无法精确存储: 4、移码与指数位E: 5、指数E的三种情况: 二、快速计算补码转十进制 1、第一种方法讨论: 2、第二种方…

九、数据治理架构流程

一、总体结构 《数据治理架构流程图》(Data Governance Architecture Flowchart) 水平结构:流程图采用水平组织,显示从数据源到数据应用的进程。 垂直结构:每个水平部分进一步划分为垂直列,代表数据治理的…

【算法系列】归并排序详解

文章目录 归并排序详解1. 基本原理1.1 分治法策略1.2 归并排序步骤1.3 图解示例 2. 时间复杂度与空间复杂度2.1 时间复杂度2.2 空间复杂度 3. 稳定性4. Java 实现示例5. 归并排序的优点与缺点5.1 优点5.2 缺点 6. 总结 归并排序详解 归并排序(Merge Sort&#xff0…

OpenGL 04--GLSL、数据类型、Uniform、着色器类

一、着色器 在 OpenGL 中,着色器(Shader)是运行在 GPU 上的程序,用于处理图形渲染管线中的不同阶段。 这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器…

【愚公系列】《Python网络爬虫从入门到精通》035-DataFrame数据分组统计整理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

伪404兼容huawei生效显示404

根据上述思考,以下是详细的中文分步说明: --- **步骤 1:获取目标设备的User-Agent信息** 首先,我们需要收集目标设备的User-Agent字符串,包括: 1. **iPhone设备的User-Agent**: Mozi…