第1关:设计一个带头结点的单链表类
时间: 2024-11-13 10:39:42 浏览: 13
设计一个带头结点的单链表类通常包括以下几个关键部分:
1. **头节点**:链表的第一个节点,它包含数据域(比如`data`)以及指向下个节点的引用(`next`)。例如:
```java
class Node {
int data;
Node next;
// 构造函数
public Node(int value) {
this.data = value;
this.next = null; // 初始化下一个节点为null
}
}
```
2. **链表类**:定义一个类,如`LinkedList`,包含链表的操作方法,如创建链表、插入节点、删除节点、搜索等:
```java
public class LinkedList {
private Node head;
// 构造函数,初始化空链表
public LinkedList() {
this.head = null;
}
// 添加新节点到链表头部
public void addFirst(int value) {
Node newNode = new Node(value);
newNode.next = head;
head = newNode;
}
// 其他方法,如添加到尾部、查找节点、删除节点等...
// 返回链表是否为空
public boolean isEmpty() {
return head == null;
}
// 更多辅助方法...
// 用于遍历链表并打印元素
public void printList() {
Node currentNode = head;
while (currentNode != null) {
System.out.print(currentNode.data + " -> ");
currentNode = currentNode.next;
}
System.out.println("null"); // 输出链表结束
}
}
```
阅读全文