请建立学生信息或图书信息的线性表结构(链表),并在此基础上完成增、删、改、查等基本操作,代码以文档方式上交,同时需要运行结果
时间: 2024-09-19 16:09:13 浏览: 28
首先,我们来构建一个简单的线性表结构,这里我们将使用Python中的链表数据结构,以学生信息为例:
```python
class Student:
def __init__(self, id, name):
self.id = id
self.name = name
self.next = None
class LinkedList:
def __init__(self):
self.head = None
# 添加新学生
def add_student(self, student):
if not self.head:
self.head = student
else:
current = self.head
while current.next:
current = current.next
current.next = student
# 删除学生
def delete_student(self, id):
if not self.head:
return
if self.head.id == id:
self.head = self.head.next
return
current = self.head
while current.next and current.next.id != id:
current = current.next
if current.next:
current.next = current.next.next
# 修改学生信息
def update_student(self, old_id, new_name):
current = self.head
while current:
if current.id == old_id:
current.name = new_name
break
current = current.next
# 查找学生
def search_student(self, id):
current = self.head
while current:
if current.id == id:
return f"找到学生,ID: {current.id}, 名称: {current.name}"
current = current.next
return "未找到该学生"
# 示例用法
students_list = LinkedList()
student1 = Student(1, 'Alice')
student2 = Student(2, 'Bob')
students_list.add_student(student1)
students_list.add_student(student2)
print(students_list.search_student(1)) # 查找
students_list.update_student(1, 'Charlie') # 修改
students_list.delete_student(2) # 删除
```
上述代码创建了一个包含学生信息的单向链表,包含了添加、删除、修改和查询学生的功能。请注意这只是一个基础版本,实际应用中可能需要考虑更复杂的场景,比如关联关系或其他业务逻辑。