在Python中实现链表,可以通过定义节点类和链表类来完成。下面是一个简单的单向链表实现示例:
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
self.size = 0
def isEmpty(self):
return self.size == 0
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
self.size += 1
def list(self):
current = self.head
while current:
print(current.data)
current = current.next
def deleteHead(self):
if self.head is None:
return None
self.head = self.head.next
self.size -= 1
def delete(self, index):
if self.size <= 0:
return None
if index == 0:
self.head = self.head.next
self.size -= 1
return
current = self.head
prev = None
j = 0
while current.next and j < index:
prev = current
current = current.next
j += 1
if current is None:
return
prev.next = current.next
self.size -= 1
这个示例中,`Node` 类表示链表中的一个节点,包含数据和指向下一个节点的指针。`LinkedList` 类表示整个链表,包含头节点和链表大小,以及用于操作链表的方法,如添加节点、遍历链表、删除头节点和指定位置的节点等。
使用示例:
ll = LinkedList()
ll.append(1)
ll.append(2)
ll.append(3)
ll.list() 输出: 1 2 3
ll.deleteHead()
ll.list() 输出: 2 3
以上代码创建了一个链表,并演示了如何添加节点、遍历链表和删除头节点。您可以根据需要扩展这个链表类,添加更多的功能,如插入节点、搜索节点等
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/123970.html