从键盘上依次输入21、18、30、75、42、56,逆序创建单链表,并输出单链表中的各元素值。并添加注释
时间: 2024-10-15 17:15:20 浏览: 30
要实现这个功能,我们需要创建一个单链表节点类(Node)和一个链表类(LinkedList),然后按照输入顺序逆序插入节点,最后遍历链表输出每个元素值。以下是Java代码示例:
```java
// 定义链表节点类
class Node {
int data; // 节点数据
Node next; // 指向下个节点
// 构造函数
public Node(int data) {
this.data = data;
this.next = null;
}
}
// 链表类
public class LinkedList {
Node head; // 链表头节点
// 向链表尾部添加新节点
public void add(int data) {
Node newNode = new Node(data);
// 如果链表为空或只有一个节点,直接将其设为头节点
if (head == null || (head.next != null && head.next.next == null)) {
head = newNode;
} else {
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
}
// 打印链表中的所有元素
public void printList() {
Node currentNode = head;
while (currentNode != null) {
System.out.print(currentNode.data + " "); // 输出当前节点数据,后面跟空格
currentNode = currentNode.next;
}
System.out.println(); // 结束行
}
}
// 主程序入口
public class Main {
public static void main(String[] args) {
LinkedList list = new LinkedList();
// 用户输入的数据
int[] inputs = {21, 18, 30, 75, 42, 56};
// 逆序输入并添加到链表
for (int i = inputs.length - 1; i >= 0; i--) {
list.add(inputs[i]);
}
// 输出链表中的元素
list.printList();
}
}
```
在这个代码中,`add`方法负责逆序添加节点,因为我们在遍历数组时是从后往前的。`printList`方法则用于打印链表中的所有元素。
阅读全文