怎么构造一个链表用来存放集合数据
时间: 2023-05-26 18:05:21 浏览: 53
可以按以下步骤构造一个链表来存储集合数据:
1. 定义链表节点的数据类型,包含数据和指向下一个节点的指针。
```
class Node:
def __init__(self, data):
self.data = data
self.next = None
```
2. 定义一个链表类,包含指向第一个节点的指针和基本的操作方法。
```
class LinkedList:
def __init__(self):
self.head = None
def add(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current_node = self.head
while current_node.next is not None:
current_node = current_node.next
current_node.next = new_node
def remove(self, data):
if self.head is None:
return
if self.head.data == data:
self.head = self.head.next
return
current_node = self.head
while current_node.next is not None:
if current_node.next.data == data:
current_node.next = current_node.next.next
return
current_node = current_node.next
def contains(self, data):
current_node = self.head
while current_node is not None:
if current_node.data == data:
return True
current_node = current_node.next
return False
def size(self):
count = 0
current_node = self.head
while current_node is not None:
count += 1
current_node = current_node.next
return count
```
3. 使用链表类来存储集合数据。
```
my_list = LinkedList()
my_list.add(1)
my_list.add(2)
my_list.add(3)
print(my_list.size()) # output: 3
my_list.remove(2)
print(my_list.contains(2)) # output: False
print(my_list.size()) # output: 2
```