数据结构与算法(JAVA版)写出带头结点head 的单链表并画出相应图示。
时间: 2024-09-17 11:06:49 浏览: 45
数据结构与算法实验(C++):单链表实验-代码
在Java中,我们可以使用`Node`类来表示单链表的节点,每个节点包含一个数据元素和指向下一个节点的引用。带头结点(Header Node)的单链表的`LinkedList`类通常会有一个特殊的头节点,这个节点并不存储实际的数据,它只是为了方便操作链表。下面是一个简单的实现:
```java
public class ListNode {
int val;
ListNode next;
public ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class SingleLinkedList {
private ListNode head; // 头节点
// 添加节点到链表头部
public void addFirst(int val) {
ListNode newNode = new ListNode(val);
newNode.next = head;
head = newNode;
}
// 显示链表(简化版,仅显示头节点至指定节点)
public void displayTo(int n) {
ListNode curr = head;
for (int i = 0; i < n && curr != null; i++) {
System.out.print(curr.val + " -> ");
curr = curr.next;
}
if (curr == null) {
System.out.println("null");
} else {
System.out.println("...");
}
}
// 图形化展示可能过于复杂,这里仅提供文字描述:
// 链表通常像这样的箭头形式:1 -> 2 -> 3 -> ...,其中1是头节点。
}
```
阅读全文