写一个单链表的函数名为DeleteFail删除成绩不及格的学生
时间: 2023-05-31 08:03:18 浏览: 48
以下是Python语言的单链表实现,包括了DeleteFail函数:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def insert(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current_node = self.head
while current_node.next is not None:
current_node = current_node.next
current_node.next = new_node
def delete_fail(self):
current_node = self.head
previous_node = None
while current_node is not None:
if current_node.data < 60:
if previous_node is None:
self.head = current_node.next
else:
previous_node.next = current_node.next
else:
previous_node = current_node
current_node = current_node.next
def display(self):
current_node = self.head
while current_node is not None:
print(current_node.data)
current_node = current_node.next
```
DeleteFail函数的实现是通过遍历单链表,找到成绩不及格的节点并删除它。我们使用了两个指针变量current_node和previous_node来追踪遍历过程中的当前节点和上一个节点。如果当前节点的data属性小于60,说明它的成绩不及格,需要删除它。如果previous_node是None,说明当前节点是头节点,需要将头节点指向当前节点的下一个节点;否则,需要将上一个节点的next属性指向当前节点的下一个节点。如果当前节点的成绩及格,我们只需要将previous_node指向当前节点即可。最后,我们通过display函数来展示删除后的单链表。