A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


栈(stack),有些地⽅称为堆栈,是⼀种容器,可存⼊数据元素、访问元 素、删除元素,它的特点在于只能允许在容器的⼀端(称为栈顶端指标,英 语:top)进⾏加⼊数据(英语:push)和输出数据(英语:pop)的运算。 没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存⼊的 那个元素,确定了⼀种默认的访问顺序。
由于栈数据结构只允许在⼀端进⾏操作,因⽽按照后进先出(LIFO,        Last        In First        Out)的原理运作。

栈结构实现
栈可以⽤顺序表实现,也可以⽤链表实现。
栈的操作
Stack()        创建⼀个新的空栈 push(item)        添加⼀个新的元素item到栈顶 pop()        弹出栈顶元素 peek()        返回栈顶元素 is_empty()        判断栈是否为空 size()        返回栈的元素个数

[AppleScript] 纯文本查看 复制代码
class	Stack(object):				"""栈"""				def	__init__(self):									self.items	=	[]
				def	is_empty(self):								"""判断是否为空"""								return	self.items	==	[]
				def	push(self,	item):								"""加⼊元素"""								self.items.append(item)
				def	pop(self):								"""弹出元素"""								return	self.items.pop()
				def	peek(self):								"""返回栈顶元素"""								return	self.items[len(self.items)-1]
		def	size(self):								"""返回栈的⼤⼩"""								return	len(self.items)
if	__name__	==	"__main__":				stack	=	Stack()				stack.push("hello")				stack.push("world")				stack.push("itcast")				print	stack.size()				print	stack.peek()				print	stack.pop()				print	stack.pop()				print	stack.pop()

执⾏过程如下:       




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马