双向链表删除单节点顺序可不可以边
时间: 2023-07-17 08:09:58 浏览: 93
可以的,删除双向链表中的单个节点可以边遍历边删除。以下是一个示例代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
def delete_node(self, key):
curr = self.head
# 遍历链表,直到找到要删除的节点
while curr:
if curr.data == key:
# 如果要删除的节点是头节点
if curr == self.head:
self.head = curr.next
if self.head:
self.head.prev = None
else:
# 更新指针,删除节点
prev_node = curr.prev
next_node = curr.next
if prev_node:
prev_node.next = next_node
if next_node:
next_node.prev = prev_node
return
curr = curr.next
def display(self):
curr = self.head
while curr:
print(curr.data, end=" ")
curr = curr.next
print()
# 测试代码
dllist = DoublyLinkedList()
dllist.head = Node(1)
second = Node(2)
third = Node(3)
dllist.head.next = second
second.prev = dllist.head
second.next = third
third.prev = second
print("原始链表:")
dllist.display()
# 删除节点2
dllist.delete_node(2)
print("删除节点2后的链表:")
dllist.display()
```
以上代码实现了一个双向链表,并且演示了删除单个节点的操作。在遍历链表的过程中,找到要删除的节点后,根据节点的位置进行相应的指针更新操作,最终完成节点的删除。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)