Python如何将单链表改成单循环链表
时间: 2023-11-19 11:07:39 浏览: 86
将单链表的尾节点指向头节点即可将其改成单循环链表,具体步骤如下:
1. 定义一个Node类表示链表的节点,其中包含data和next两个属性。
2. 定义一个LinkedList类,其中包含head和tail两个属性。head指向链表的头节点,tail指向链表的尾节点。
3. 定义LinkedList类的add方法,用于向链表中添加节点。如果链表为空,则将head和tail都指向新节点;否则,将tail的next指向新节点,并将tail指向新节点。
4. 将tail的next指向head,将单链表变成单循环链表。
示例代码如下:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
self.tail = None
def add(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
self.tail = new_node
else:
self.tail.next = new_node
self.tail = new_node
self.tail.next = self.head # 将尾节点的next指向头节点,形成循环
def display(self):
current = self.head
if current is None:
print("LinkedList is empty")
else:
while True:
print(current.data)
current = current.next
if current == self.head:
break
if __name__ == '__main__':
linked_list = LinkedList()
linked_list.add(1)
linked_list.add(2)
linked_list.add(3)
linked_list.display() # 输出1 2 3
```
阅读全文