小王子单链表python
时间: 2024-02-02 10:10:35 浏览: 99
小王子单链表是一种基于Python语言实现的数据结构,它是一种线性表的存储结构,由一系列节点组成,每个节点包含两部分:数据域和指针域。数据域用于存储具体的数据,指针域用于指向下一个节点。
在小王子单链表中,每个节点只能指向下一个节点,最后一个节点的指针域为空。这样的设计使得在插入、删除等操作时,只需要修改相邻节点的指针域,而不需要移动其他节点,提高了操作效率。
下面是一个简单的小王子单链表的Python实现示例:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def is_empty(self):
return self.head is None
def append(self, data):
new_node = Node(data)
if self.is_empty():
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def insert(self, data, position):
if position <= 0:
new_node = Node(data)
new_node.next = self.head
self.head = new_node
else:
current = self.head
count = 0
while current and count < position - 1:
current = current.next
count += 1
if current:
new_node = Node(data)
new_node.next = current.next
current.next = new_node
def delete(self, data):
if self.is_empty():
return
if self.head.data == data:
self.head = self.head.next
else:
current = self.head
while current.next and current.next.data != data:
current = current.next
if current.next:
current.next = current.next.next
def display(self):
current = self.head
while current:
print(current.data, end=" ")
current = current.next
print()
# 示例代码
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.insert(4, 1)
linked_list.delete(2)
linked_list.display()
```
以上是一个简单的小王子单链表的Python实现示例,包括了常用的插入、删除和显示操作。你可以根据自己的需求进行扩展和修改。
阅读全文