链表的简单介绍

news/2025/2/1 9:55:57 标签: 链表, 数据结构

申明:

我们的链表可以写在类中或者接口中(接口中更好),这里我们是写在类当中。

1.节点的构造是由当前数据和指向下一个结点的地址组成,那么我们在当前这个链表的类中需要实现一个节点那么此时就需要用到内部类(当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么这个内部的完整结构最好使用内部类 ).

2.这里可以用静态内部类和非静态内部类,为了少写点我们直接用实例内部类,并且我们这里还需要将头节点定义出来(这里的构造方法里面只写了val的原因是,next是后期通过对象调用来赋值,不需要实例化对象的时候赋值,实例化对象的时候只需要对val赋值就行了。):

3.这里实现一个很差劲的链表(实际链表的产生不是这样产生的,这里这样写是为了方便理解):

4.我们打印链表就需要遍历链表,那么肯定不能通过head去遍历,一旦通过head遍历链表的时候,那我们需要使用链表的时候就无法找到他的头节点了,所以这里必须定义一个临时变量来遍历这个链表,并且我们要知道什么时候链表是被遍历完的,所以我们就可以知道当这个临时变量为null的时候,链表就遍历完了(不能用临时变量的next为null是因为,当临时变量的next为null的时候此时的临时变量才走到最后一个节点),所以我们就可以写出链表的打印:

5.链表的长度:

6.链表的头插:

7.尾插:

8.指定位置插入:

9.链表是否包含这个数据:

10.删除数据:

11.删除所有为val的数据:

12.清空链表


http://www.niftyadmin.cn/n/5839279.html

相关文章

DeepSeek是什么,最近到底经历了什么?它能干什么?

2025年,这个DeepSeek太火爆了,那它到底是个什么玩意呢。简单得说,它就是chat-GPT的替代版,国内的呦,有些国家不要脸的酸了,要对这个东方神秘力量进行攻击。 一、近期关键动态(2023-2024&#x…

论文阅读:Realistic Noise Synthesis with Diffusion Models

这篇文章是 2025 AAAI 的一篇工作,主要介绍的是用扩散模型实现对真实噪声的仿真模拟 Abstract 深度去噪模型需要大量来自现实世界的训练数据,而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成…

Java继承中的静态方法隐藏与实例变量隐藏:深入解析与最佳实践

引言 在Java面向对象编程中,继承是实现代码复用的核心机制。然而,继承中的静态方法(static)和实例变量的行为常常让开发者感到困惑。许多初学者甚至经验丰富的程序员容易混淆方法覆盖(Override)、方法隐藏…

MATLAB-Simulink并行仿真示例

一、概述 在进行simulink仿真的过程中常常遇到CPU利用率较低,仿真缓慢的情况,可以借助并行仿真改善这些问题,其核心思想是将参数扫描、蒙特卡洛分析或多工况验证等任务拆分成多个子任务,利用多核CPU或计算集群的并行计算能力&…

InnoSetup使用教程笔记

P01介绍 P02安装lnno Setup 1.下载网址 https://jrsoftware.org/isinfo.php 2.下载 3.安装 4.安装成功后软件界面 P03制作安装包(上) 1.设置软件基本信息 2.设置安装路径 3.向安装包添exe文件及配置文件 4.创建快捷方式 5.显示文件(如许可文档) 6.设置安装模式 04制作安装…

Spring Boot 热部署实现指南

在开发 Spring Bot 项目时,热部署功能能够显著提升开发效率,让开发者无需频繁重启服务器就能看到代码修改后的效果。下面为大家详细介绍一种实现 Spring Boot 热部署的方法,同时也欢迎大家补充其他实现形式。 步骤一、开启 IDEA 自动编译功能…

小程序的协同工作与发布

1.小程序API的三大分类 2.小程序管理的概念,以及成员管理两个方面 3.开发者权限说明以及如何维护项目成员 4.小程序版本

电路研究9.2.6——合宙Air780EP中HTTP——HTTP GET 相关命令使用方法研究

这个也是一种协议类型: 14.16 使用方法举例 根据之前多种类似的协议的相关信息: HTTP/HTTPS:超文本传输协议(HTTP)用于Web数据的传输,而HTTPS是HTTP的安全版本,使用SSL/TLS进行加密。与FTP相比&…