代码:
class Node:
def __init__(self,data):
self.data = data
self.next = None
class LinkList:
def __init__(self,node = None):
self.size = 0
self.head = node
# 判空
def is_empty(self):
return self.size == 0
# return self.head
# 添加数据
def add(self,value):
# 创建一个新的节点
node = Node(value)
# 头插
node.next = self.head
self.head = node
# 插入成功 链表长度自增
self.size += 1
# 返回栈顶元素
def first(self):
return self.head.data
# 弹出栈顶元素
def del_head(self):
if self.is_empty():
return "链表为空"
self.head = self.head.next
self.size -= 1
# 栈的大小
def len(self):
return self.size
# 遍历
def show(self):
if self.is_empty():
print("链表为空")
else:
q = self.head
while q:
print(q.data,end=' ')
q = q.next #改变q的指向
print()
if __name__ == '__main__':
linkList = LinkList()
linkList.add(10)
linkList.add(20)
linkList.add(30)
linkList.add(40)
linkList.add(50)
linkList.show()
linkList.del_head()
linkList.show()
print(linkList.first())
print(linkList.len())