python代码实现stack和queue
2024-09-15 15:39:49
栈stack 后进先出
class Stack(object):
def __init__(self):
self.stack = [] def push(self, value): # 进栈
self.stack.append(value) def pop(self): # 出栈
if self.stack :
self.stack.pop()
else:
raise LookupError("stack is empty") def is_empty(self): # 如果栈为空
return bool(self.stack) def top(self):
# 取出目前stack中最新的元素
return self.stack[-1]
队列queue 先进先出
class Node:
def __init__(self,data):
self.data=data
self.next=None class Queue:
def __init__(self):
self.rear=None
self.front=None
self.r=0
self.f=0
def isEMpty(self):
if self.r==self.f:
print("The queue is empty")
else:
print("The queue is not empty")
def push(self,data):
if self.f==self.r:
q=Node(data)
self.rear=q
self.front=q
self.r=0
self.f=1
else:
q=Node(data)
self.rear.next=q
self.rear=q
self.f+=1
def pop(self):
if self.r==self.f:
print("The Queue is empty")
#return false
else:
self.front=self.front.next
self.f=self.f-1
def top(self):
if self.r==self.f:
print("empty")
else:
print(self.front.data)
最新文章
- java基础 super 子类调用父类
- File类使用小结
- 微信小程序实质是什么? Hybrid App
- sublime text 2 安装emmet插件
- phonegap 框架详解
- http实现方式概念学习笔记
- Java并发编程小记
- 【S2-052】漏洞复现(CVE-2017-9805)
- django orm 及常用参数
- verilog中timescale
- 斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合、最正确的方法)
- js 添加天数
- 高盛为什么认为中国AI领域将超越美国?
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
- C#委托和事件定义和使用
- Bungee Jumping---hdu1155(物理题)
- C#中载入界面的几种做法
- Codeforces 1030E 【暴力构造】
- C# JackLib系列之自定义鼠标风格的实现
- centOS 安装Python3与python2并存
热门文章
- …gen already exists but is not a source folder. Convert to a source folder or rename it [closed]
- VS常用快捷鍵
- Blender 界面操作
- linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?
- 2018年7月份,python上传自己的包库到pypi官网的方法
- 搭建Vue.js环境,建立一个简单的Vue项目
- 把mongodb服务添加到系统服务中,报错:[sc] openscmanager 失败 5
- Linux od命令(以指定进制显示文件)
- Linux最大打开文件描述符数
- js防止表单重复提交