Python语言利用列表数据结构模拟栈数据结构

发布时间:2026/6/27 20:42:21
Python语言利用列表数据结构模拟栈数据结构 栈是一种线性存储结构其特点是只能从一端进行数据的存取操作另一端是封闭的。栈遵循“先进后出”LIFO的原则即最先存入栈的元素最后被取出。栈的开口端称为栈顶**封闭端称为栈底。class Stack: def __init__(self):#构造方法 self.stack [] def push(self,item):#压栈 self.stack.append(item) 列表的添加元素方法 __.extend()追加元素可以以列表的形式追加 如果是字符串则以是每个字符追加 def pop(self):#弹栈 if not self.is_empty(): return self.stack.pop() else: return IndexError(pop from empty stack)#异常处理防止代码报错中断 def is_empty(self):#判断栈是否为空 return len(self.stack) 0 def size(self):#栈大小 return len(self.stack) def peek(self):#栈顶元素 if not self. is_empty() : return self.stack[-1] else: return IndexError(pop from empty stack) stack Stack() stack.push(7) stack.push(8) stack.push(9) 加入元素时可以用for i in range(start,stop,step):方法 start起始值 stop 停止值 step 步长 print(取栈顶元素,stack.peek()) print(栈的长度,stack.size()) print(栈元素弹出,stack.pop()) print(判断栈是否为空,stack.is_empty())运行结果