温馨提示×

如何在java中实现链表的插入操作

小樊
83
2024-09-28 17:52:39
栏目: 编程语言

在Java中,实现链表插入操作需要遵循以下步骤:

  1. 创建一个表示链表节点的类,包含一个存储数据的变量(如data)和一个指向下一个节点的引用(如next)。
public class ListNode {
    int data;
    ListNode next;

    public ListNode(int data) {
        this.data = data;
        this.next = null;
    }
}
  1. 创建一个链表类,包含一个头节点引用(如head)以及实现插入操作的方法(如insertAtHeadinsertAtTailinsertAfter)。
public class LinkedList {
    ListNode head;

    public LinkedList() {
        this.head = null;
    }

    // 在链表头部插入节点
    public void insertAtHead(int data) {
        ListNode newNode = new ListNode(data);
        newNode.next = head;
        head = newNode;
    }

    // 在链表尾部插入节点
    public void insertAtTail(int data) {
        ListNode newNode = new ListNode(data);
        if (head == null) {
            head = newNode;
            return;
        }
        ListNode current = head;
        while (current.next != null) {
            current = current.next;
        }
        current.next = newNode;
    }

    // 在指定节点之后插入新节点
    public void insertAfter(ListNode node, int data) {
        if (node == null) {
            System.out.println("The given previous node must not be null");
            return;
        }
        ListNode newNode = new ListNode(data);
        newNode.next = node.next;
        node.next = newNode;
    }
}
  1. 使用链表类的方法进行插入操作。
public class Main {
    public static void main(String[] args) {
        LinkedList list = new LinkedList();

        // 在链表头部插入节点
        list.insertAtHead(3);
        list.insertAtHead(2);
        list.insertAtHead(1);

        // 在链表尾部插入节点
        list.insertAtTail(4);
        list.insertAtTail(5);

        // 在指定节点之后插入新节点
        ListNode node = list.head.next; // 节点值为2
        list.insertAfter(node, 6);
    }
}

以上代码将创建一个链表,并在头部、尾部和指定节点之后插入新节点。运行Main类,输出链表中的元素,将显示插入操作的结果。

0