数据结构之来链表——单链表

什么是单链表:
文字说明:

单链表顾名思义,就是指单项链表,即只有一个方向的链性线性表。

图解:

如下图所示,即为链表(DATA为我们自己所定义的数据类型):

单链表的创建(创建后使用前必须对其初始化):

文字描述:

单链表分为两个部分:

(1)数据部分(通过自定义即可,下方代码为结构体DATA)

(2)指向部分(通过指针来实现)

代码:

typedef struct LNode
{DATA data;struct LNode* next;
};

单链表的初始化:

文字说明:

链表初始化的过程与我们的动态顺序表的初始化相近,只不过在给其初始化时除了给链表开辟空间,同时要使其 next 的指针指向NULL(空节点)。

代码:

void creat(LNode*& L)
{L = (LNode*)malloc(sizeof(LNode));L->next = NULL;
}

单链表的基本操作:

查看链表的长度:

文字解释:

遍历整个链表,每到一个节点就加一,当到下一个节点指向NULL停止。

 代码:

int Len(LNode* L)
{int length = 0;LNode* p;p = L->next;while (p != NULL){length++;p = p->next;}return length;
}

其余用法与链表的长度判断相近,再此不过多解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/623100.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负荷预测 | Matlab基于TCN-GRU-Attention单变量时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于TCN-GRU-Attention单变量时间序列多步预测; 2.单变量时间序列数据集,采用前12个时刻预测未来96个时刻的数据; 3.excel数据方便替换,运行环境matlab2023及以…

MyBatis操作数据库(3)

其它查询操作 #{}和${} MyBatis参数赋值有两种方式, 咱们前面使用了#{}进行赋值, 接下来来看两者的区别: #{}和${}的使用 1.先看Integer类型的参数: Select("select username, password, age, gender, phone from userinfo where id #{id}") UserInfo queryByI…

护眼灯哪个品牌好?五大护眼灯品牌推荐

护眼灯哪个品牌好?在挑选对眼睛有益的台灯时,专业护眼台灯无疑是明智的选择。这类台灯不仅严格按照国家的标准制造,确保了安全与质量的可靠性,除此之外护眼台灯还采用了经过精心设计的发光结构,有效减少了光线对眼睛的…

MinIO + Prometheus + Grafana docker部署

文章目录 说明MinIO简介MinIO 容器化部署Prometheus服务地址配置方法一:先部署后修改方法二:部署时修改compose文件(未验证) MinIO Access Key配置Prometheus 容器化部署MinIO 生成抓取配置修改Prometheus配置文件Grafana 容器化部…

【Unity】游戏场景添加后处理特效PostProcessing

添加后处理特效PostProcessing 添加雾效果后处理何为后处理?添加后处理特效 添加雾效果 依次点击Window -> Rendering -> Lighting添加Lighting面板。 点击Lighting里面的Environment,找到Other Setting 将Fog选项勾选 更改下方的颜色 调整雾的浓…

Python教程:备份你的文件夹里面的数据

1.完全备份是最基本的备份类型,它涉及复制所有选定的数据到备份位置。无论文件是否自上次备份以来发生了变化,所有文件都会被复制。这种备份方式简单直接,确保了备份存储的数据总是最新的。 完全备份是通过递归复制源文件夹中的所有文件和子…

面试算法-175-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视…

链表里面头节点存在的目的

头节点存在的目的: 在单链表的使用中,头结点(Header Node)是一个常用的概念,特别是在进行链表操作时。头结点不是数据域中实际存储的数据节点,而是作为链表操作的辅助节点,它包含对第一个实际数…

面试经典150题——二叉树的最大深度

1. 题目描述 ​ 2. 题目分析与解析 这个题目有过一定基础的都应该知道,采用递归解决问题,因为要求一个二叉树的深度(也就是高度),其实上就是根节点的左子树和右子树中高度最高的那个。因此这个问题就可以拆解为&…

【电控笔记6.1】稳定度判断

简要概括 现控:远离虚轴,稳定度越高 自控:相位裕度PM 增益裕度GM 开环传函 不稳定条件判断

微信小程序生成链接或二维码的对比

二维码 1.小程序样式码 获取参数直接options.xxx(参数名) 方法:微信公众平台 》工具》生成小程序二维码; 样式图:就一看就是小程序的二维码; 2.正方形二维码/链接 方法:微信公众平台》开…

[linux]进程控制——进程终止

一、main函数的返回值 我们在编写C语言的程序时,通常会这样写: int main() {return 0; } 那么我们为什么要返回(return)0 呢? 其实,main函数也是一个函数,它也会被调用,所以谁调…