# 栈元素class Node: def __init__(self, item): # 元素域 self.elem = item # 链接域 self.next = Noneclass Stack: # 栈顶指针 def __init__(self): self.head = None # 链表的头部作为栈顶 # 添加一个元素,进栈 *** 作就是在链表头部插入元素 def push(self, item): node = Node(item) node.next = self.head self.head = node # d出栈顶元素,即链表删除头部节点 def pop(self): cur = self.head self.head = cur.next return cur.elem # 返回栈顶元素,查看头部节点的值 def peek(self): return self.head if self.is_empty() else self.head.elem # 判断栈是否为空 def is_empty(self): return self.head == None # 返回栈的元素个数 def size(self): count = 1 if self.is_empty(): return 0 cur = self.head # 遍历到最后一个元素 while cur.next is not None: count += 1 cur = cur.next return countif __name__ == '__main__': s = Stack() print(s.is_empty()) s.push(10) s.push(20) s.push(30) print(s.size()) print(s.peek()) print(s.pop()) print(s.pop())
总结 以上是内存溢出为你收集整理的python代码改写<大话数据结构>:栈的链式存储结构全部内容,希望文章能够帮你解决python代码改写<大话数据结构>:栈的链式存储结构所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)