如何用class封装链表
时间: 2023-07-17 08:03:38 浏览: 41
要使用class封装链表,首先需要定义一个Node类来表示链表中的每个节点。Node类应该包含一个值和一个指向下一个节点的指针。然后,可以定义一个LinkedList类来操作链表,包括实现插入、删除、查找等功能。
以下是一个使用class封装链表的示例代码:
```python
class Node:
def __init__(self, value):
self.value = value
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, value):
new_node = Node(value)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def delete(self, value):
if not self.head:
return
if self.head.value == value:
self.head = self.head.next
return
current = self.head
while current.next:
if current.next.value == value:
current.next = current.next.next
return
current = current.next
def search(self, value):
current = self.head
while current:
if current.value == value:
return True
current = current.next
return False
def display(self):
elements = []
current = self.head
while current:
elements.append(current.value)
current = current.next
print(elements)
```
使用示例:
```python
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display() # 输出: [1, 2, 3]
linked_list.delete(2)
linked_list.display() # 输出: [1, 3]
print(linked_list.search(3)) # 输出: True
print(linked_list.search(5)) # 输出: False
```
以上代码实现了一个简单的单链表,你可以根据自己的需求进行扩展和修改。