python 栈的简单实现

版权声明:欢迎转载,转载请注明出处 https://blog.csdn.net/weixin_44649870/article/details/87635188

python 栈的简单实现

栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。

  • 代码(使用list):
    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
    
    

猜你喜欢

转载自blog.csdn.net/weixin_44649870/article/details/87635188
今日推荐