数据结构--栈

--栈

#规则:先进后出,只能对栈顶进行操作

#应用:浏览器的返回

 

实现方式一

以列表尾部作为栈的顶端

class Stack():
def __init__(self):
self.items = []
def push(self,item): #往栈追加一个元素
self.append(item)
def pop(self): #移栈顶的元素并返回
if self.items.pop():
return self.items.pop()p
def peek(self): #返回栈顶的元素
return self.items[len(self.items)-1]

def isEmpty(self): #判断栈是否为空,返回布尔值
return self.items == []

 

 

实现方式二:

以列表的头部作为栈顶

class Stack():
    def __init__(self):
        self.items = []

    def push(self,item):
        self.items.insert(0,item)

    def pop(self):
        return self.items.pop(0)

    def peek(self):
        return self.items[0]
    
    def isEmpty(self):
        return self.items == []

 

posted @ 2022-11-13 21:34  powfu  阅读(19)  评论(0)    收藏  举报