#初始化顺序栈
class SeqStack(object):
def __init__(self,max):
#顺序栈的最大容量
self.max = max
#空栈指针指向-1
self.top = -1
#存储栈元素的数组
self.stack = [None for i in range(self.max)]
#栈的判空
def empty(self):
return self.top is -1
#入栈
def push(self,val):
if self.top == self.max -1:
raise IndexError("栈已满")
else:
#栈顶指针加1
self.top += 1
self.stack[self.top] = val
#读栈顶元素
def peek(self):
#栈判空
if self.empty():
raise IndexError("栈为空")
#返回栈顶元素
else:
return self.stack[self.top]
#出栈
def pop(self):
#判空
if self.empty():
raise IndexError("栈为空")
#栈顶针减1并返回栈顶元素
else:
cur = self.stack[self.top]
self.top -= 1
return cur
经典顺序栈的判空、入栈、读栈和出栈鉴赏
最新推荐文章于 2023-12-12 13:16:46 发布