Python - 堆栈(Stack)

Python - 堆栈(Stack) 首页 / 数据结构入门教程 / Python - 堆栈(Stack)

Stack 堆栈存储数据元素 就像一堆盘子在厨房里一个个又一个地存放一样,允许在一端的操作可称为堆栈顶部, 无涯教程只能在堆栈中添加或删除元素。

压入堆栈

class Stack:

    def __init__(self):
        self.stack=[]

    def add(self, dataval):
# 使用列表追加方法添加元素
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
# 使用 peek 查看栈顶

    def peek(self):     
	    return self.stack[-1]

AStack=Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())

执行以上代码后,将产生以下输出:

无涯教程网

Tue
Thu

删除数据

众所周知,无涯教程只能从堆栈中删除过多的数据元素,以下程序中的remove函数返回最顶部元素。

class Stack:

    def __init__(self):
        self.stack=[]

    def add(self, dataval):
# 使用列表追加方法添加元素
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
# 使用 peek 查看栈顶

    def peek(self):     
	    return self.stack[-1]

AStack=Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())
Thu
Wed

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

白话法律42讲 -〔周甲徳〕

编译原理之美 -〔宫文学〕

研发效率破局之道 -〔葛俊〕

MongoDB高手课 -〔唐建法(TJ)〕

说透5G -〔杨四昌〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

超级访谈:对话玉伯 -〔玉伯〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)