个人技术分享

目录

单向链表

双向链表

循环链表


链表是一种线性数据结构,采用不连续的存储单元,由若干个节点组成,每个节点通常包含两部分,数据和指向下一个节点的引用, 具有查询慢、插入快的特点。效率上:读取O(n)、更新O(1)、插入O(1)、删除O(1) 。

链表的数据存储在节点(Node)中,是一种递归的数据结构

public class Node{
    E e;
    Node next;
}

链表节点类(ListNode)

public class ListNode {
    int value;
    ListNode next;

    ListNode(int value) {
        this.value = value;
        this.next = null;
    }
}

创建一个链表类(LinkedList),用于管理链表节点并提供操作链表的方法。

public class LinkedList {
    private ListNode head; // 链表的头节点

    // 构造方法,初始化链表为空
    public LinkedList() {
        this.head = null;
    }

    // 在链表尾部添加节点
    public void append(int value) {
        ListNode newNode = new ListNode(value);
        if (head == null) {