定义一个包含图书信息(书号、书名、价格)的链表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待出库的旧图书的位置,将该图书从图书表中删除,最后输出该图书出库后的所有图书的信息
时间: 2024-10-15 18:12:46 浏览: 63
在编程中,我们可以定义一个链表结构来存储图书信息,每个节点通常包含书号(book_id)、书名(title)和价格(price)等字段。首先,我们需要创建一个BookNode类作为链表的基本元素:
```python
class BookNode:
def __init__(self, book_id, title, price):
self.book_id = book_id
self.title = title
self.price = price
self.next = None
```
接下来,我们创建一个BookList类,用于维护这个链表,并提供添加书籍和删除书籍的方法:
```python
class BookList:
def __init__(self):
self.head = None
def add_book(self, book_id, title, price):
new_node = BookNode(book_id, title, price)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def remove_book_by_position(self, position):
if not self.head or position == 0:
return
if position == 1:
self.head = self.head.next
return
current = self.head
for _ in range(position - 1):
if not current.next:
break
current = current.next
if current and current.next:
current.next = current.next.next
def print_books(self):
current = self.head
while current:
print(f"书号: {current.book_id}, 书名: {current.title}, 价格: {current.price}")
current = current.next
```
你可以通过以下步骤操作这个图书列表:
1. 创建一个`BookList`实例。
2. 调用`add_book`方法多次来输入图书数据。
3. 确定待出库的旧图书位置后,调用`remove_book_by_position`方法。
4. 最后,调用`print_books`方法查看出库后剩余的所有图书信息。
阅读全文