当前位置:首页 > Java

java如何描述单链表

2026-03-18 21:59:40Java

单链表的基本概念

单链表是一种线性数据结构,由一系列节点组成,每个节点包含两部分:数据域(存储数据)和指针域(存储指向下一个节点的引用)。链表的最后一个节点指向null,表示链表结束。

Java实现单链表的节点类

通过定义一个内部类Node表示链表的节点,包含数据域和指向下一个节点的指针:

class ListNode {
    int val;        // 数据域
    ListNode next;  // 指针域,指向下一个节点

    // 构造函数
    ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

单链表的操作示例

以下是单链表的常见操作实现:

java如何描述单链表

初始化链表

创建头节点并逐步添加新节点:

ListNode head = new ListNode(1);          // 头节点
head.next = new ListNode(2);              // 第二个节点
head.next.next = new ListNode(3);         // 第三个节点

遍历链表

通过循环访问每个节点,直到nextnull

java如何描述单链表

ListNode current = head;
while (current != null) {
    System.out.print(current.val + " ");  // 输出节点值
    current = current.next;               // 移动到下一个节点
}
// 输出:1 2 3

插入节点

在链表末尾插入新节点:

ListNode newNode = new ListNode(4);
ListNode tail = head;
while (tail.next != null) {
    tail = tail.next;  // 找到最后一个节点
}
tail.next = newNode;   // 将新节点链接到末尾

删除节点

删除值为2的节点:

ListNode prev = head;
while (prev.next != null && prev.next.val != 2) {
    prev = prev.next;  // 找到待删除节点的前驱
}
if (prev.next != null) {
    prev.next = prev.next.next;  // 跳过待删除节点
}

完整示例代码

public class SinglyLinkedList {
    static class ListNode {
        int val;
        ListNode next;
        ListNode(int val) { this.val = val; }
    }

    public static void main(String[] args) {
        // 创建链表 1 -> 2 -> 3
        ListNode head = new ListNode(1);
        head.next = new ListNode(2);
        head.next.next = new ListNode(3);

        // 遍历链表
        ListNode current = head;
        while (current != null) {
            System.out.print(current.val + " ");
            current = current.next;
        }
    }
}

关键点说明

  • 头节点:链表的第一个节点,是遍历的起点。
  • 指针域next指向下一个节点,末尾节点的nextnull
  • 动态性:链表长度可动态调整,插入和删除操作效率较高(时间复杂度为O(1)或O(n))。

通过上述代码和说明,可以清晰地理解Java中单链表的实现方式和基本操作逻辑。

标签: 链表java
分享给朋友:

相关文章

如何打开java

如何打开java

打开 Java 程序的方法 通过命令行运行 Java 程序 确保已安装 Java Development Kit (JDK) 并配置环境变量。使用 javac 编译 .java 文件,生成 .clas…

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

如何编译java文件

如何编译java文件

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证。若未安装,需从Oracle或Open…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…