欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用顺序表实现栈 --python描述

程序员文章站 2024-03-20 14:46:58
...

用顺序表来实现栈的功能

class Stack(object):
	'''栈'''
	def __init__(self):
		#初始化一个顺序表来作为栈的容器,在python中可以是一个空列表
		self.__list = []
	def push(self,item):
		'''添加一个新的元素item到栈顶'''
		#对顺序表的操作,操作尾部的时间复杂度是O(1),所以使用append(),反之,使用链表实现栈时,就要操作头部
		self.__list.append(item)	#self.__list是list类的一个实例,可以调用列表基类的方法

	def pop(self):
		'''弹出栈顶元素'''
		#也操作尾部
		return self.__list.pop()

	def peek(self):
		'''返回栈顶元素'''
		#如果列表不为空
		if self.__list:
			return self.__list[-1]
		#如果列表为空,list[-1]不能对空列表操作
		else:
			return None

	def is_empty(self):
		'''判断栈是否为空'''
		return self.__list == []
	def size(self):
		'''返回栈的元素个数'''
		return len(self.__list)

if __name__ == "__main__":
	s = Stack()
	#压栈时是1 2 3 4
	s.push(1)
	s.push(2)
	s.push(3)
	s.push(4)

	print(s.pop())
	print(s.pop())
	print(s.pop())
	print(s.pop())
	#弹栈时是4 3 2 1
相关标签: