写一个带头结点的循环单链表
时间: 2023-02-22 11:03:39 浏览: 105
带头结点的单链表创建
循环单链表是一种特殊的链表,它的最后一个节点的 next 指针指向第一个节点,形成一个环。
带头结点的循环单链表是指在循环单链表的开头添加了一个虚拟的头结点,头结点不存储任何数据,只是为了方便链表的操作。
下面是带头结点的循环单链表的实现代码:
```
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LoopLinkedList:
def __init__(self):
self.head = Node(None)
self.head.next = self.head
def insert(self, data):
new_node = Node(data)
new_node.next = self.head.next
self.head.next = new_node
def delete(self, data):
pre = self.head
cur = self.head.next
while cur != self.head:
if cur.data == data:
pre.next = cur.next
return
else:
pre = cur
cur = cur.next
def traverse(self):
cur = self.head.next
while cur != self.head:
print(cur.data, end=' ')
cur = cur.next
```
以上代码实现了带头结点的循环单链表的三个基本操作:插入、删除和遍历。
阅读全文