第11关:基于链式存储结构的图书信息表的创建和输出
时间: 2024-10-11 10:03:20 浏览: 50
11_链表_
在第11关中,我们通常会构建一个基于链式存储结构(如链表或哈希表)的数据结构来表示图书信息表。这个过程包括以下几个步骤:
1. 定义数据结构:首先,我们会创建一个图书节点(BookNode),它包含书的基本信息,如书名、作者、ISBN等,并链接到下一个节点。
```python
class BookNode:
def __init__(self, title, author, isbn):
self.title = title
self.author = author
self.isbn = isbn
self.next = None
```
2. 创建链表或哈希表:然后,我们可以使用链表作为数组的替代品,其中每个节点代表一本书,通过`next`指针连接起来,形成单链表。如果需要快速查找,可以使用哈希表(如Python中的字典,通过ISBN作为键)。
```python
class Library:
def __init__(self):
self.books = {} # 使用哈希表
def add_book(self, title, author, isbn):
if isbn not in self.books:
new_node = BookNode(title, author, isbn)
self.books[isbn] = new_node
def print_books(self):
for isbn, node in self.books.items():
print(f"ISBN: {isbn}, Title: {node.title}, Author: {node.author}")
```
在这个例子中,你可以通过`add_book`方法添加新的图书,`print_books`方法用于显示所有书籍的信息。
阅读全文