写一个链表类,用前插链表记录学生成绩,实现我能够插入、删除和遍历学生成绩的功能
时间: 2024-03-17 16:41:20 浏览: 21
好的,下面是一个简单的链表类的实现,可以用于记录学生成绩:
```python
class Node:
def __init__(self, data=None, next=None):
self.data = data
self.next = next
class LinkedList:
def __init__(self):
self.head = None
def insert(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def remove(self, data):
if self.head is None:
return
if self.head.data == data:
self.head = self.head.next
return
current = self.head
while current.next is not None:
if current.next.data == data:
current.next = current.next.next
return
current = current.next
def traverse(self):
current = self.head
while current is not None:
print(current.data)
current = current.next
```
在上面的代码中,`Node` 类表示链表中的节点,包括一个数据成员和一个指向下一个节点的指针。`LinkedList` 类包括一个头指针,表示链表的起始位置。它提供了插入、删除和遍历链表的方法。
插入操作使用前插法,即将新节点插入到链表的头部。删除操作遍历链表,找到要删除的节点并删除它。遍历操作从头指针开始遍历整个链表,并输出每个节点的数据。
你可以像下面这样使用这个链表类来记录学生成绩:
```python
# 创建一个链表对象
grades = LinkedList()
# 插入学生成绩
grades.insert(90)
grades.insert(80)
grades.insert(70)
# 遍历学生成绩
grades.traverse()
# 删除一个学生成绩
grades.remove(80)
# 再次遍历学生成绩
grades.traverse()
```
这样就可以使用链表记录学生成绩,并且可以方便地进行插入、删除和遍历操作了。