Python之栈和队列

简介: 笔记


15.png

列表实现栈


class Stack:
    def __init__(self):
        self.__list = []
    def push(self, val) -> bool:
        self.__list.append(val)
    def pop(self) -> int:
        if self.empty():
            return -1
        return self.__list.pop()
    def top(self) -> int:
        if self.empty():
            return -1
        return self.__list[-1]
    def size(self) -> int:
        return len(self.__list)
    def empty(self) -> bool:
        return self.size() == 0

队列


16.png

用列表实现队列

class Queue:
    def __init__(self):
        self.__list = []
    # 尾入队
    def push_back(self, val):
        self.__list.append(val)
    # 头入队    
    def push_front(self, val):
        self.__list.insert(0, val) 
    # 尾出队    
    def pop_back(self) -> int:
        if self.empty():
            return -1
        return self.__list.pop()
    # 头出队
    def pop_front(self) -> int:
        if self.empty():
            return -1
        return self.__list.pop(0)
    def front(self) -> int:
        if self.empty():
            return -1
        return self.__list[0]
    def size(self) -> int:
        return len(self.__list)
    def empty(self) -> bool:
        return self.size() == 0
相关文章
|
2月前
|
Python
【Leetcode刷题Python】剑指 Offer 30. 包含min函数的栈
本文提供了实现一个包含min函数的栈的Python代码,确保min、push和pop操作的时间复杂度为O(1)。
20 4
|
2月前
|
Python
【Leetcode刷题Python】946. 验证栈序列
LeetCode题目“946. 验证栈序列”的Python解决方案,通过模拟栈的压入和弹出操作来验证给定的两个序列是否能通过合法的栈操作得到。
22 6
|
2月前
|
Python
【Leetcode刷题Python】剑指 Offer 09. 用两个栈实现队列
使用两个栈实现队列的Python解决方案,包括初始化两个栈、实现在队列尾部添加整数的appendTail方法和在队列头部删除整数的deleteHead方法,以及相应的示例操作。
36 2
|
2月前
|
数据采集 Java Python
python 递归锁、信号量、事件、线程队列、进程池和线程池、回调函数、定时器
python 递归锁、信号量、事件、线程队列、进程池和线程池、回调函数、定时器
|
2月前
|
前端开发 Python
数据结构Python用队列实现杨辉三角形
数据结构Python用队列实现杨辉三角形
19 0
|
2月前
|
Python
[Python]队列基础
[Python]队列基础
|
2月前
|
Python
【Leetcode刷题Python】641.循环双端队列
文章介绍了如何实现一个循环双端队列,包括其操作如插入、删除、获取队首和队尾元素,以及检查队列是否为空或已满,并提供了Python语言的实现代码。
18 0
|
2月前
|
Python
【Leetcode刷题Python】232. 用栈实现队列
如何使用Python语言通过两个栈来实现队列的所有基本操作,包括入队(push)、出队(pop)、查看队首元素(peek)和判断队列是否为空(empty),并提供了相应的代码实现。
16 0
|
2月前
|
Python
Python IPC深度探索:解锁跨进程通信的无限可能,以管道与队列为翼,让你的应用跨越边界,无缝协作,震撼登场
【8月更文挑战第3天】Python IPC大揭秘:解锁进程间通信新姿势,让你的应用无界连接
20 0
|
3月前
|
安全 API Python
`multiprocessing`是Python的一个标准库,用于支持生成进程,并通过管道和队列、信号量、锁和条件变量等同步原语进行进程间通信(IPC)。
`multiprocessing`是Python的一个标准库,用于支持生成进程,并通过管道和队列、信号量、锁和条件变量等同步原语进行进程间通信(IPC)。
下一篇
无影云桌面