JAVA数据结构——链表:引用赋值图解

链表

  • 一、链表的原理
  • 二、深入理解引用赋值
    • 1. p = q
    • 2. p = q.next
    • 3. p.next = q
    • 4. p.next = q.next

一、链表的原理

元素(element):真实存于线性表中的内容
结点(node):为了组织链表而引入的一个结构,除了保存我们的元素之外,还保存指向下一个结点的引用

class Node {
int val;//保存元素
Node next;//保存指向下一个结点的引用;尾结点的 next == null
}

当前结点(current / cur):表示链表中某个结点
前驱结点(previous / prev):表示链表中某个结点的前一个结点;头结点没有前驱结点
后继结点(next):表示链表中某个结点的后一个结点;尾结点没有后继结点

二、深入理解引用赋值

Node p = ...;//已知 p 是一条链表中的某个结点
Node q = ...;//已知 q 是一条链表中的某个结点

画图表示以下代码执行后的结果:

1. p = q

让 p 指向 q 目前指向的结点:

2. p = q.next

让 p 指向 q 当前指向的结点的后继结点:

3. p.next = q

让 p 指向的结点中保存的指向下一个结点的引用指向 q 当前指向的对象:

4. p.next = q.next

让 p 指向的结点中保存的指向下一个结点的引用指向 q 当前指向的结点的后继结点:

来源:https://www.icode9.com/content-1-890051.html

(0)

相关推荐

  • 顺序栈与链式栈的图解与实现

    # 顺序栈与链式栈的图解与实现 栈是一种特殊的线性表,它与线性表的区别体现在增删操作上 栈的特点是先进后出,后进先出,也就是说栈的数据操作只能发生在末端,而不允许在中间节点进行操作 如上图所示,对栈的 ...

  • 链表调通

    数据结构-链表 新手学习,代码还很死板,不灵活.期待改进. 环境:vc6 语言:c 运行结果: $ 为结束符号,不会读入$ qwe$ 全部元素为:qwe 一共有:3个元素 查找节点的内容,元素序号为: ...

  • Java数据结构与算法----数组与链表

    数据类型 5.1 单链表介绍 5.2 链表的创建 5.3 节点的修改 5.4 节点的删除 5.5 代码实现 5.6 单链表面试题 5.6.1 求单链表中有效节点的个数 5.6.2 查找单链表中的倒数第 ...

  • PHP数据结构-链表的相关逻辑操作

    链表的相关逻辑操作 链表的操作相对顺序表(数组)来说就复杂了许多.因为 PHP 确实已经为我们解决了很多数组操作上的问题,所以我们可以很方便的操作数组,也就不用为数组定义很多的逻辑操作.比如在 C 中 ...

  • PHP数据结构-链表的其它形式

    链表的其它形式 在上篇文章中,我们已经说过了链表除了简单的那一种单向链表外,还有其它的几种形式.当然,这也是链表这种结构的一大特点,非常地灵活和方便.我们简单的想一想,如果让最后一个节点的 next ...

  • Java数据结构与算法实战全套教程下载

    今天小编就采用Java语言来进行描述,帮大家好好梳理一下数据结构与算法,在工作和面试中用的上,亦即总结常见的的数据结构,以及在Java中相应的实现方法,务求理论与实践一步总结到位. 常用数据结构 数组 ...

  • Python中的引用赋值,深拷贝,浅拷贝

    摘要:Python,引用赋值,深拷贝,浅拷贝 总结一下Python中的变量的引用赋值,深拷贝和浅拷贝,先上结论 赋值引用会直接将内存地址传递过去,此时变量间不仅值相等,内存地址也相等,是同一个对象. ...

  • 从头开始学习->java数据结构(一):物理上的存储结构

    前言 我们都知道,所谓的数据结构,都是我们在为了更好的对数据的增删改查而创造出来的对数据的结构设计,但是我们要知道的是,这些数据结构都是抽象的逻辑结构,并不是真实的物理上的存储结构,大部分时候,我们对 ...

  • Java中的引用到底是个什么玩意?

    文章目录 前言:先理解变量 变量有两类关键 变量的存储位置 再谈引用 基本数据类型与引用类型的区别 对引用的比喻 前言:先理解变量 在我们弄清楚引用之前,我们还得从变量讲起: 变量有两类关键 (1)变 ...

  • Java,数据结构和算法,八大数据结构,链表的操作及遍历排序

    IT小奋斗2021-02-13 09:32:51 链表 链表:一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 单向链表:只有一个指向下一个节点的指针( ...

  • 对象赋值在PHP中到底是不是引用?

    之前的文章中,我们说过变量赋值的问题,其中有一个问题是对象在进行变量赋值的时候,直接就是引用赋值.那么到底真实情况是怎样呢? 之前变量赋值的文章 PHP的变量赋值 对象引用测试 在继续深入的学习PHP ...