链表——初识链表

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

🟡前言


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


🟡结语


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

相关文章
|
1月前
|
存储 Python
什么是链表
什么是链表
21 0
|
1月前
|
存储 Java
链表的认识
链表的认识
|
1月前
|
存储 缓存 C语言
链表修炼指南
链表修炼指南
|
7月前
|
存储
07 链表
07 链表
22 0
|
10月前
|
存储 C++
链表相关问题的实现
链表相关问题的实现
|
存储 算法 Java
一文带你深入了解链表(C)
📖作者介绍:22级树莓人(计算机专业),热爱编程<目前在c阶段>——目标C++、Windows,MySQL,Qt,数据结构与算法,Linux,多线程,会持续分享学习成果和小项目的 📖作者主页:热爱编程的小K 📖专栏链接:C 🎉欢迎各位→点赞👏 + 收藏💞 + 留言🔔​ 💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🐾 ———————————————— 版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_7215744
|
存储 索引
变幻莫测的链表
双链表 单链表中的指针域只能指向节点的下一个节点。 双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。 双链表 既可以向前查询也可以向后查询。
54 0
|
算法
链表必知必会
链表必知必会
56 0
链表必知必会
|
存储 Java
第 4 章 链表(一)
第 4 章 链表
72 0