写一个程序实现单链表的ADT,要包括单链表的生成、销毁、插入、删除、查找。
时间: 2023-05-12 10:03:02 浏览: 52
好的,以下是单链表的ADT实现代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def insert(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_node
def delete(self, data):
if self.head is None:
return
if self.head.data == data:
self.head = self.head.next
else:
current = self.head
while current.next is not None:
if current.next.data == data:
current.next = current.next.next
return
current = current.next
def search(self, data):
current = self.head
while current is not None:
if current.data == data:
return True
current = current.next
return False
def destroy(self):
self.head = None
```
其中,Node类表示链表中的节点,LinkedList类表示单链表,包括插入、删除、查找和销毁操作。