python中用编号删除链表中的图书
时间: 2024-01-12 15:03:27 浏览: 64
链表的删除
假设链表中每个节点存储了一本图书的信息,其中包括编号 `id` 字段,可以按以下步骤删除指定编号的图书节点:
1. 遍历链表,找到待删除节点的前一个节点 `prev` 和待删除节点 `curr`。
2. 如果待删除节点是链表的头节点,则将头指针指向其下一个节点。
3. 否则,将待删除节点的前一个节点的 `next` 指针指向待删除节点的下一个节点。
4. 释放待删除节点的内存空间。
以下是一个示例代码实现:
```python
class Book:
def __init__(self, id, title, author):
self.id = id
self.title = title
self.author = author
self.next = None
# 创建一个包含多本图书信息的链表
book1 = Book(1, "Python编程从入门到实践", "Eric Matthes")
book2 = Book(2, "流畅的Python", "Luciano Ramalho")
book3 = Book(3, "Python网络编程", "Dr. M. O. Faruque Sarker")
book1.next = book2
book2.next = book3
# 删除编号为2的图书节点
prev, curr = None, book1
while curr and curr.id != 2:
prev, curr = curr, curr.next
if curr:
if not prev:
book1 = book1.next
else:
prev.next = curr.next
del curr
```
在上述代码中,我们首先创建了一个包含3本图书信息的链表,然后按照上述步骤删除了编号为2的图书节点。
阅读全文