java实现单链表(Linked List)相关

原创
ithorizon 8个月前 (09-01) 阅读数 87 #Java

Java实现单链表(Linked List)基础操作

单链表是一种线性数据结构,其由一系列节点(Node)组成。每个节点包含两个部分:数据域(data)和指向下一个节点的指针(next)。在Java中,我们可以使用类(Class)来实现单链表,并为其提供增删查等基本操作。

1. 定义节点类(Node)

首先,我们定义一个节点类,用于描述链表的节点:

class Node {

int data; // 数据域

Node next; // 指针域

// 构造方法

public Node(int data) {

this.data = data;

this.next = null;

}

}

2. 定义单链表类(LinkedList)

接下来,我们定义一个单链表类,用于实现链表的增删查等操作:

class LinkedList {

Node head; // 头节点

// 构造方法

public LinkedList() {

this.head = null;

}

// 以下是单链表的基本操作

}

3. 添加节点(添加到链表尾部)

下面是一个向链表尾部添加节点的方法:

public void append(int data) {

Node newNode = new Node(data);

if (head == null) {

head = newNode;

return;

}

Node temp = head;

while (temp.next != null) {

temp = temp.next;

}

temp.next = newNode;

}

4. 在链表头部添加节点

以下是一个在链表头部添加节点的方法:

public void prepend(int data) {

Node newNode = new Node(data);

newNode.next = head;

head = newNode;

}

5. 删除节点

下面是一个删除具有特定数据的节点的方法:

public void deleteNode(int key) {

Node temp = head;

Node prev = null;

if (temp != null && temp.data == key) {

head = temp.next;

return;

}

while (temp != null && temp.data != key) {

prev = temp;

temp = temp.next;

}

if (temp == null) return;

prev.next = temp.next;

}

6. 打印链表

下面是一个打印链表所有节点的方法:

public void printList() {

Node temp = head;

while (temp != null) {

System.out.print(temp.data + " ");

temp = temp.next;

}

System.out.println();

}

总结

本文介绍了怎样在Java中实现单链表,并提供了添加、删除和打印链表等基本操作。通过这些基础操作,我们可以扩展出更多纷乱的功能,例如查找节点、反转链表等。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Java


热门