链式存储是一种数据结构,它允许多个元素共享同一块内存空间。在图书信息管理系统中,我们可以使用链式存储来存储图书的信息,如书名、作者、出版社、ISBN等。以下是一个简单的链式存储实现:
```python
class Book:
def __init__(self, title, author, publisher, isbn):
self.title = title
self.author = author
self.publisher = publisher
self.isbn = isbn
self.next = None
class Library:
def __init__(self):
self.books = []
def add_book(self, book):
if not self.books:
self.books.append(book)
else:
current_book = self.books[0]
while current_book.next:
current_book = current_book.next
current_book.next = book
def display_books(self):
current_book = self.books[0]
while current_book:
print(current_book.title, end="t")
current_book = current_book.next
print()
# 示例
library = Library()
book1 = Book("Python编程", "张三", "清华大学出版社", "978-3-16-148410-2")
book2 = Book("Java核心技术", "李四", "机械工业出版社", "978-7-302-07565-5")
library.add_book(book1)
library.add_book(book2)
library.display_books()
```
在这个实现中,我们定义了两个类:`Book` 和 `Library`。`Book` 类表示一个图书,包含书名、作者、出版社和 ISBN 等信息,以及指向下一个图书的指针。`Library` 类表示图书馆,用于管理图书。我们使用链式存储来实现图书信息的存储,即每个图书都链接到下一个图书。
在 `Library` 类中,我们定义了 `add_book` 方法用于添加图书,`display_books` 方法用于显示所有图书的信息。在 `add_book` 方法中,我们首先检查当前图书列表是否为空,如果为空则直接将新书添加到列表末尾,否则遍历列表找到第一个非空图书,然后将新书链接到该图书后面。
通过这个实现,我们可以方便地添加、查询和管理图书信息。