class LinkedList:
def __init__(self):
self.size = 0
self.head = Node
pass
def addItem(self, obj):
newNode = Node(obj)
if self.size <= 0:
self.head = newNode
else:
newNode.next = self.head
self.head = newNode
self.size += 1
def list(self):
current = self.head
while current != None:
print current.data
current = current.next
def deleteHead(self):
if self.size <= 0:
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
return
j = 0
#保存当前节点
current = self.head
#保存前面的节点
prev = self.head
while current.next:
if j == index:
prev.next = current.next
self.size -= 1
break
prev = current
current = current.next
j+=1
#获得指定索引出的节点
def get(self, index):
if self.size <= 0:
return None
current = self.head
j = 0
while current :
if j == index:
return current
current = current.next
j+=1
#获得指定值处的索引
def getIndex(self, value):
current = self.head
j = 0
while current:
if value == current.data:
return j
current = current.next
j+=1
if __name__ == '__main__':
linkedlist = LinkedList()
linkedlist.addItem("a")
linkedlist.addItem("b")
linkedlist.addItem("c")
linkedlist.addItem("d")
linkedlist.addItem("e")
#linkedlist.deleteHead()
#linkedlist.list()
#linkedlist.delete(2)
#linkedlist.list()
#print linkedlist.get(4).data
#print linkedlist.getIndex("e")
Python实现链表
最新推荐文章于 2025-10-27 00:10:09 发布
本文介绍了一个简单的单链表类的实现,包括添加元素、删除元素、获取元素及其索引等基本操作。通过具体示例展示了如何使用这些方法。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
6512

被折叠的 条评论
为什么被折叠?



