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())
运行结果:

更多推荐
所有评论(0)