链表——初识链表

简介: 链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

🟡前言


21天挑战赛的第二周,从本文开始将会介绍链表相关知识,本文主要是介绍有关链表的基本概念

活动地址:CSDN21天学习挑战赛


🟡概述


1️⃣定义


链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。


链表由一系列的结点(链表中的每一个元素称为结点)组成,结点可以在运行时动态生成


2️⃣示意图


eaf1d98676c34007a86b8fe44cfad3cb.png


  • 在链表内插入数据只需要移动和添加指针即可


c5fe05f497e94e30b857c1c85a471ece.png


  • 在链表内删除元素只需要将前一个节点的指针指向后一个节点即可


a1558f62d2964aeeb3f745e33d50ecc4.png


🟡节点


1️⃣API设计


  • 构造方法

  • Node(T t, Node next)

  • 成员变量

  • T item:存储数据

  • Node next:指向下一个节点

2️⃣节点代码实现


public class Node<T>{
  //存储元素
  public T item;
  //指向下一个节点
  public Node next;
  public Node(T item, Node next){
    this.item = item;
    this.next = next;
  }
}


3️⃣生成链表


public static void main(String[] args) throws Exception { 
//构建结点 
Node<Integer> first = new Node<Integer>(11, null); 
Node<Integer> second = new Node<Integer>(13, null); 
Node<Integer> third = new Node<Integer>(12, null); 
Node<Integer> fourth = new Node<Integer>(8, null); 
Node<Integer> fifth = new Node<Integer>(9, null);
//生成链表 
first.next = second; 
second.next = third; 
third.next = fourth; 
fourth.next = fifth; 
}


🟡结语


本文主要是针对链表有了个初步认识,接下来会介绍单链表、双链表、循环链表及其相关问题

相关文章
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
2038 1
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
|
边缘计算 C++ 开发者
.NET 9 中没有 wasi 实验性支持
【11月更文挑战第2天】.NET 9 引入了对 WASI(WebAssembly System Interface)的实验性支持。WASI 扩展了 WebAssembly 的使用场景,使其不仅限于浏览器,还能在服务器端和边缘计算等环境中运行。.NET 9 的 WASI 支持包括构建可在 WASI 环境下运行的应用程序、增强与其他 WASI 模块的互操作性,以及针对 WASI 环境进行性能优化。
211 6
|
存储 消息中间件 大数据
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
266 0
|
消息中间件 存储
消息队列之RabbitMQ之主题(Topics)模式
RabbitMQ是一个消息中间件,它接受并转发消息。它有6中工作模式,而主题模式是它的核心。在主题模式中,主要是通配符的添加与使用。
553 0
|
Web App开发 安全 关系型数据库
Sqlmap2021 -- Cookie注入
Sqlmap2021 -- Cookie注入
287 0
Sqlmap2021 -- Cookie注入
|
存储
7. Reverse Integer
7. Reverse Integer
141 0
|
2天前
|
云安全 人工智能 自然语言处理