博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构与算法-python实现堆栈,队列
阅读量:3907 次
发布时间:2019-05-23

本文共 1301 字,大约阅读时间需要 4 分钟。

# 堆栈的实现class Stack:    # 栈的初始化    def __init__(self):        self.items = []    # 判断栈是否为空    def isEmpty(self):        return self.items == []    # 入栈操作    def push(self, item):        self.items.append(item)    # 出栈操作    def pop(self):        return self.items.pop()    # 查看栈底部元素    def peek(self):        return self.items[len(self.items) - 1]    # 判断栈的长度    def size(self):        return len(self.items)

栈满足 先进后出 原则

队列满足 先进先出 原则

# 队列的python实现,(头删尾插)# 列表的第一个元素作为队列的尾部# 列表的最后一个元素作为队列的头部class Queue:    def __init__(self):        self.items = []    # 判空    def isEmpty(self):        return self.items == []    # 在尾部入队    def enqueue(self, item):        self.items.index(0, item)    # 在头部删除    def dequeue(self):        self.items.pop()    # 判断个数    def size(self):        return len(self.items)

双端队列 头尾均可插入何删除

# 双端队列(头尾都可插入删除)class Dueue:    # 创建双端队列    def __init__(self):        self.items = []    # 在队首插入item    def addFront(self,item):        self.items.append(item)    # 在队尾插入item    def addRear(self,item):        self.items.index(0, item)    # 从队首移除    def removeFront(self):        return self.items.pop()    # 从队尾移除    def removeRear(self):        return self.items.pop(0)    # 判空    def isEmpty(self):        return self.items == []    # 判断个数    def size(self):        return len(self.items)

 

转载地址:http://ugren.baihongyu.com/

你可能感兴趣的文章
【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。
查看>>
《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记
查看>>
.NET Core加解密实战系列之——使用BouncyCastle制作p12(.pfx)数字证书
查看>>
基于REACT和.NET CORE集成WINDOWS身份验证
查看>>
几个超级实用但很少人知道的 VS 技巧[更新]
查看>>
谈了千百遍的缓存数据的一致性问题
查看>>
Magicodes.IE之导入导出筛选器
查看>>
跟我一起学.NetCore之中间件(Middleware)应用和自定义
查看>>
Confluent官博:Kafka最牛队列,性能15倍于RabbitMQ!
查看>>
使用SWAGGER和ASP.NET CORE设置可选路由参数
查看>>
C#刷剑指Offer | 二叉搜索树的后序遍历序列
查看>>
新版 C# 高效率编程指南
查看>>
跟我一起学.NetCore之文件系统应用及核心浅析
查看>>
初识ABP vNext(11):聚合根、仓储、领域服务、应用服务、Blob储存
查看>>
chrome禁止三方cookie,网站登录不了怎么办
查看>>
Git 图形化操作之合并提交记录
查看>>
Istio Pilot 源码分析(二)
查看>>
微软发布.NET 5.0 RC1,未来将只有一个.NET
查看>>
ASP.NET Core Blazor Webassembly 之 路由
查看>>
跟我一起学.NetCore之静态文件处理的那些事
查看>>