建立一个不带表头节点的单链表,依次输入元素1, 2,3……10,删除元素1、5,最后依次显示当前表中的元素完整代码
时间: 2024-09-22 13:09:49 浏览: 28
创建一个不带表头节点的单链表,并进行添加、删除操作,以下是使用Python的一个简单实现示例:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
def insert_after_node(node, new_data):
if node is None:
return Node(new_data)
new_node = Node(new_data)
new_node.next = node.next
node.next = new_node
return node
def display_linked_list(node):
while node is not None:
print(node.data, end=" -> ")
node = node.next
print("None")
# 创建链表
linked_list = None
for i in range(1, 11):
linked_list = insert_after_node(linked_list, i)
# 删除元素1和5
if linked_list is not None and linked_list.data == 1:
linked_list = linked_list.next
elif linked_list is not None:
current = linked_list
while current is not None:
if current.data == 5:
break
current = current.next
if current is not None:
current.prev.next = current.next
# 显示剩余的链表
display_linked_list(linked_list)
```
在这个代码里,我们首先定义了一个`Node`类,然后创建了一个空的链表`linked_list`。通过循环,我们将数字1到10逐个插入链表中。接着,我们查找并删除数字1和5。最后,我们遍历链表并打印剩余的元素。
注意,这里假设每个节点都有一个`prev`指针,以便在删除元素时能保持链表的连续性。在实际应用中,如果单链表本身不包含这样的指针,我们需要从头开始遍历查找目标元素。