python 栈的简单实现

举报
时光不写 发表于 2019/07/11 14:33:54 2019/07/11
【摘要】 栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。
  • 代码

class Stack(object):
	# 初始化
	def __init__(self):
		self.items = []
	# 判断是否为空
	def is_empty(self):
		return self.items == []
	# 返回栈顶元素
	def peek(self):
		if self.is_empty():
			raise KeyError("stack is None")
		return self.items[len(self.items) - 1]
	#返回栈的大小
	def size(self):
		return len(self.items)
	# 入栈,把新的元素放进栈里
	def push(self, item):
		self.items.append(item)
	# 出栈,把栈顶元素丢出去
	def pop(self):
		if self.is_empty():
			raise KeyError("stack is None")
		return self.items.pop()
if __name__ == '__main__' :
	a_stack = Stack()
	# 插入元素
	a_stack.push('一')
	a_stack.push('二')
	a_stack.push('三')
	
	print(a_stack.size())    # 3
	print(a_stack.peek())    # 三
	print(a_stack.pop())     # 三
	print(a_stack.peek())    # 二
	print(a_stack.size())    # 2
	print(a_stack.is_empty())  # False
	a_stack.__init__()
	print(a_stack.is_empty())  # True

本文链接:时光不写博客

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。