写一个单项循环链表的代码
时间: 2024-10-16 20:19:00 浏览: 14
在Python中,我们可以创建一个简单的单向循环链表结构,它由节点组成,每个节点包含数据和指向下一个节点的引用。这里是一个基本的实现:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class CircularLinkedList:
def __init__(self):
self.head = None
# 插入节点到链表头部
def insert_at_head(self, data):
new_node = Node(data)
if not self.head:
new_node.next = new_node # 循环链表设置头结点指向自身
self.head = new_node
else:
temp = self.head
new_node.next = self.head
self.head.prev = new_node # 更新头结点的前一个节点
temp.next = new_node
self.head = new_node
# 打印链表
def display(self):
temp = self.head
while True:
print(temp.data, end=" <-> ")
temp = temp.next
if temp == self.head: # 如果返回头结点,则开始循环
break
# 示例使用
cll = CircularLinkedList()
cll.insert_at_head(1)
cll.insert_at_head(2)
cll.display() # 输出: 2 <-> 1 <->
```
在这个实现中,`CircularLinkedList`类有两个核心部分:插入节点(`insert_at_head`)和打印链表(`display`)。注意循环链表的特点在于最后一个节点的`next`指针会指向第一个节点。
阅读全文