使用链表实现打印文件的最后n行
时间: 2024-04-24 20:24:04 浏览: 78
要使用链表来实现打印文件的最后n行,可以使用以下步骤:
1. 定义一个链表节点类,包含数据和指向下一个节点的指针。
2. 读取文件,逐行将每一行的内容存储在链表节点中。
3. 继续读取文件,每次读取一行时,创建一个新节点,并将该行内容存储在节点中。
4. 检查链表的长度是否超过n,如果超过则删除链表头部的节点,保持链表长度为n。
5. 重复步骤3和4,直到文件读取完毕。
6. 打印链表中剩余的节点内容,即为文件的最后n行。
下面是一个示例代码(使用Python语言):
```python
class ListNode:
def __init__(self, data):
self.data = data
self.next = None
def print_last_n_lines(filename, n):
head = None
tail = None
count = 0
with open(filename, 'r') as file:
for line in file:
new_node = ListNode(line.strip())
if head is None:
head = new_node
tail = new_node
else:
tail.next = new_node
tail = new_node
count += 1
if count > n:
head = head.next
current = head
while current:
print(current.data)
current = current.next
# 示例调用
print_last_n_lines('example.txt', 5)
```
以上代码将打印文件 `example.txt` 的最后5行内容。你可以根据需要修改文件名和n的值。
阅读全文