链表——初识链表

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

🟡前言


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; 
}


🟡结语


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

相关文章
|
6月前
|
存储 Java
链表的认识
链表的认识
|
6月前
|
Python
|
6月前
链表之有头链表
链表之有头链表
|
6月前
|
存储 缓存 C语言
链表修炼指南
链表修炼指南
|
存储 索引
关于链表我所知道的
关于链表我所知道的
75 0
|
存储 算法 Java
【JavaOj】链表十连问
【JavaOj】链表十连问
106 0
|
存储 索引
变幻莫测的链表
双链表 单链表中的指针域只能指向节点的下一个节点。 双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。 双链表 既可以向前查询也可以向后查询。
72 0