python用链表查询图书
时间: 2024-05-24 09:04:52 浏览: 40
可以使用链表实现一个简单的图书查询系统。下面是一个示例代码:
```python
class Book:
def __init__(self, id, title, author, isbn):
self.id = id
self.title = title
self.author = author
self.isbn = isbn
self.next = None
class BookList:
def __init__(self):
self.head = None
def add_book(self, id, title, author, isbn):
book = Book(id, title, author, isbn)
if self.head is None:
self.head = book
else:
current = self.head
while current.next is not None:
current = current.next
current.next = book
def search_book(self, id):
current = self.head
while current is not None:
if current.id == id:
return current
current = current.next
return None
book_list = BookList()
book_list.add_book(1, "The Great Gatsby", "F. Scott Fitzgerald", "9780743273565")
book_list.add_book(2, "To Kill a Mockingbird", "Harper Lee", "9780446310789")
book_list.add_book(3, "1984", "George Orwell", "9780451524935")
while True:
print("Enter book id to search (or 'exit' to quit):")
user_input = input()
if user_input == "exit":
break
book = book_list.search_book(int(user_input))
if book is not None:
print(f"Title: {book.title}")
print(f"Author: {book.author}")
print(f"ISBN: {book.isbn}")
else:
print("Book not found.")
```
在这个示例代码中,`Book` 类表示一本书,包含书的 id、标题、作者和 ISBN 号,以及一个指向下一本书的指针。`BookList` 类表示图书列表,包含一个指向第一本书的指针。它包括两个方法:`add_book` 用于将新书添加到列表中,`search_book` 用于按 id 查找图书。在主循环中,用户输入要查找的书籍的 id,程序将在图书列表中查找并输出图书信息。如果找不到该书籍,则输出“Book not found.”。