【数据结构】线性表的链式储存结构(java实现)

本文介绍了线性表链式存储结构的基本概念,并提供了Java实现,包括创建链表、遍历、查找关键字、获取链表长度、头尾插入、任意位置插入、删除指定节点及删除所有特定值节点的操作。
摘要由CSDN通过智能技术生成

基本概念

线性表的链式存储结构的特点是用一组任意存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

下图粗略的展示了链式储存结构图。其中val存的是具体的数据,而next存的是下一个结点的地址。这样一连串的结点就能够串起来了。他们在物理储存空间上既可以是连续的,也可以是非连续的。

我们把存储数据元素的信息的域称为数据域 把存储直接后继位置的域称为指针域。

值得一提,我们把链表第一个的存储位置叫做头指针,链表最后一个节点的指针为空(null)。 

线性表链式存储结构代码描述 

创建链表:

public class LinkedList {
    //内部类
    class Node{
        public int val;  //储存数据
        public Node Next;  //储存下一个节点的位置

        public Node(int val) {
            this.val = val;
        }
    }

    public Node head; //代表当前链表的头结点的引用
//创建链表
    public void createLink(){
        Node node1 = new Node(12);
        Node node2 = new Node(45);
        Node node3 = new Node(23);
        Node node4 = new Node(90);
        node1.Next = node2;
        node2.Next = node3;
        node3.Next = node4;
        head = node1;

    }
    
}

 创建链表后的结构图如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值