在将文本文件读入链表并打印链表内容时,如果只打印了链表中的第一个节点,可能是因为链表的构建或遍历过程中出现了问题。以下是一个完整的示例,展示如何将文本文件读入链表并正确打印链表中的所有节点。
假设我们有一个文本文件 example.txt
,内容如下:
line 1
line 2
line 3
我们将使用 JavaScript 来实现这个功能。首先,我们需要定义一个链表节点类和一个链表类,然后编写代码将文件内容读入链表并打印链表。
class ListNode {
constructor(data) {
this.data = data;
this.next = null;
}
}
class LinkedList {
constructor() {
this.head = null;
}
append(data) {
const newNode = new ListNode(data);
if (this.head === null) {
this.head = newNode;
} else {
let current = this.head;
while (current.next !== null) {
current = current.next;
}
current.next = newNode;
}
}
printList() {
let current = this.head;
while (current !== null) {
console.log(current.data);
current = current.next;
}
}
}
我们将使用 Node.js 的 fs
模块来读取文件内容。
const fs = require('fs');
const readline = require('readline');
const linkedList = new LinkedList();
const rl = readline.createInterface({
input: fs.createReadStream('example.txt'),
output: process.stdout,
terminal: false
});
rl.on('line', (line) => {
linkedList.append(line);
});
rl.on('close', () => {
console.log('Contents of the linked list:');
linkedList.printList();
});
ListNode
类表示链表的一个节点,包含数据和指向下一个节点的指针。LinkedList
类表示链表,包含头节点和一些操作链表的方法,如 append
和 printList
。fs
模块和 readline
模块来逐行读取文件内容。printList
方法打印链表中的所有节点。确保你已经安装了 Node.js,然后在命令行中运行以下命令:
node your_script_name.js
这将读取 example.txt
文件的内容,并将每一行添加到链表中,最后打印链表中的所有节点。
append
方法中正确地将新节点添加到链表的末尾。printList
方法中正确地遍历链表,打印每个节点的数据。领取专属 10元无门槛券
手把手带您无忧上云