首页 > 其他分享 >数据结构之链表的原理

数据结构之链表的原理

时间:2022-08-30 22:49:02浏览次数:52  
标签:Node 存储 node2 链表 node1 原理 数据结构 节点

链表:在计算机中用一组任意的存储单元存储线性表的数据元素称为链式存储结构,这组存储结构可以是连续的,也可以是不连续的,因此在存储数据元素时可以动态分配内存。

注:在java中没有指针的概念,可以理解为对象的引用。

单链表的特点是链表的方向是单向的,对链表的访问要通过顺序读取,从头部开始。单链表是由一个个节点(Node)组装起来的,其中每个节点都由成员变量指向下一个节点。

特点概述:

  每个节点由数据域和指针域组成

  比顺序结构存储密度小。链式存储结构中每个节点都由数据域和指针域两部分组成,相比顺序结构增加了存储空间

  逻辑上相邻的两个节点物理位置不必相邻

  插入,删除灵活

  查找节点时链式存储结构要比顺序结构慢

Java中链表的定义如下:

class Node<T>{

  E data;

  Node<E> next;

}

基于Java,来探究一下链表的原理:

首先,写一段简单的代码

public class Node <T>{
    private T v;
    Node<T> next;
    public static void main(String[] args){
        Node node3 = new Node();
        node3.v = "a";
        Node node2 = new Node();
        node2.v = "b";
        node2.next = node3;
        Node node1 = new Node();
        node1.v = "c";
        node1.next = node2;
        System.out.println(node1);
    }
}

运行截图:

 

 上述代码中,我们使node1的后继为node2,node2的后继为node3,更直观一点

 

标签:Node,存储,node2,链表,node1,原理,数据结构,节点
From: https://www.cnblogs.com/99kol/p/16641142.html

相关文章

  • new的工作原理、new和字面量创建对象的区别
    new的工作原理:1.创建一个空对象,构造函数中的this会指向这个对象2.这个新对象会被链接到原型3.执行构造函数方法,其属性和方法都会被添加到this引用的对象中4.如果构造函......
  • 【数据结构】二叉树-二叉树类别
    满二叉树如果二叉树中除了叶子结点,每个结点的度都为2,则此二叉树称为满二叉树。 完全二叉树1.如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右......
  • 从零构建链表
    最重要的头节点是这样创建的:        Node*Head=newNode;//头节点不存储数据        Head->next=NULL;        Node*pre=Head......
  • LinkedHashMap源码及LRU实现原理
    基本认识LinkedHashMap位于java.util包,于JDK1.4引入,属于JavaCollectionsFramework的成员。查看其UML关系如下图所示:HashMap在很多场景下都满足K-V的存取,而且在非多线......
  • Spring Boot注册Servlet、Filter、Listener原理
    如何使用在SpringBoot中注册Servlet、Filter办法主要有3种,下面来看下具体例子,例子都采用Filter,Servlet同理。第一种,使用FilterRegistrationBean、ServletRegistrationBe......
  • Synchronized的底层实现原理(看这篇就够了)
    谈到多线程就不得不谈到Synchronized,重要性不言而喻,今天主要分享Synchronized的底层实现。 Synchronizedsynchronized关键字解决的是多个线程之间访问资源的同步性,syn......
  • 83. 删除排序链表中的重复元素
    83.删除排序链表中的重复元素#由于是已排序的链表,判断前后是否为相同元素如果是则连接下下个不是则向前移动#code:#Definitionforsingly-linkedlist.#classLis......
  • synchronized 原理
    java中每一个对象都有一个objectMonitor对象与之关联monitor对象中主要有如下属性:owner:持有当前objectMonitor的线程地址entrylist:阻塞队列,存放竞争当前monitor......
  • 并发编程五、CAS与AQS原理及源码分析
    前言:文章内容:线程与进程、线程生命周期、线程中断、线程常见问题总结本文章内容来源于笔者学习笔记,内容可能与相关书籍内容重合偏向于知识核心总结,非零基础学习文章,可......
  • 算法提高课 第四章 数据结构之并查集
    一、并查集1250.格子游戏思路O(mlog(n))将图中的每个点看作并查集的结点,每个被画的边看作合并相邻的点的操作将图中所有点按行或列优先,从1~n*m进行编号每次进行......