Java头插法生成链表
时间: 2024-10-02 15:03:38 浏览: 25
在Java中,头插法(也称为首插法)用于在链表头部添加新节点。这是通过创建一个新的节点并将其`next`属性设置为当前链表的头部来实现的。下面是一个简单的示例,展示如何使用头插法生成链表:
```java
// 创建Node类,表示链表的节点
class Node {
int data;
Node next;
// 构造函数
Node(int data) {
this.data = data;
this.next = null;
}
}
public class HeadInsertionExample {
// 头插法生成链表
public static void insertAtHead(int[] arr) {
Node head = null; // 初始化链表为空
for (int i = 0; i < arr.length; i++) {
Node newNode = new Node(arr[i]); // 创建新的节点
newNode.next = head; // 新节点的next指向前一个元素
head = newNode; // 更新链表头部
}
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
insertAtHead(arr);
// 打印链表以验证头插法操作
Node current = head;
while (current != null) {
System.out.print(current.data + " -> ");
current = current.next;
}
// 结果应该是 1 -> 2 -> 3 -> 4 -> 5 -> null
}
}
```
这段代码会按照数组`arr`的元素顺序,在链表的开始位置依次插入节点。运行`main`方法后,你会看到按原始顺序排列的链表。
阅读全文