Python常见数据结构之栈与队列用法示例


Posted in Python onJanuary 14, 2019

本文实例讲述了Python常见数据结构之栈与队列用法。分享给大家供大家参考,具体如下:

Python常见数据结构之-栈

首先,栈是一种数据结构。具有后进先出特性。

#栈的实现
class Stack():
  def __init__(self,size):
    self.stack=[]
    self.size=size
    self.top=-1
  def push(self,content):
    if self.Full():
      print "Stack is Full"
    else:
      self.stack.append(content)
      self.top=self.top+1
  def out(self):
    if self.Empty():
      print "Stack is Empty"
    else:
      self.top-=1
  def Full(self):
    if self.top==self.size-1:
      return True
    else:
      return False
  def Empty(self):
    if self.top==-1:
      print "Stack is Empty"
if __name__=="__main__":
  q=Stack(7)
  q.Empty()
  q.push("hello")
  q.Empty()

运行结果:

Stack is Empty

Python常见数据结构之-队列

队列是一种先进先出的数据结构。

#队列的实现
class Queue():
  def __init__(self,size):
    self.queue=[]
    self.size=size
    self.head=-1
    self.tail=-1
  def Empty(self):
    if self.head==self.tail:
      return True
    else:
      return False
  def Full(self):
    if self.tail-self.head==self.size-1:
      return True
    else:
      return False
  def enQueue(self,content):
    if self.Full():
      print "Queue is Full"
    else:
      self.queue.append(content)
      self.tail+=1
  def outQueue(self):
    if self.Empty():
      print "Queue is Empty!"
    else:
      self.head+=1
if __name__=="__main__":
  q=Queue(6)
  print q.Empty() # True
  q.enQueue("123")
  print q.Empty() #False
  q.outQueue()

运行结果:

True
False

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
Python与Redis的连接教程
Apr 22 Python
解决Python一行输出不显示的问题
Dec 03 Python
pycharm修改界面主题颜色的方法
Jan 17 Python
python 为什么说eval要慎用
Mar 26 Python
Python OS模块实例详解
Apr 15 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
python中time.ctime()实例用法
Feb 03 Python
python快速安装OpenCV的步骤记录
Feb 22 Python
pytorch 实现变分自动编码器的操作
May 24 Python
Python requests用法和django后台处理详解
Mar 19 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 #Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 #Python
利用nohup来开启python文件的方法
Jan 14 #Python
python运行时强制刷新缓冲区的方法
Jan 14 #Python
python xpath获取页面注释的方法
Jan 14 #Python
Python面向对象之类的定义与继承用法示例
Jan 14 #Python
Python读取csv文件分隔符设置方法
Jan 14 #Python
You might like
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
js轮播图代码分享
2016/07/14 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
DOM事件探秘篇
2017/02/15 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
详解vue路由
2020/08/05 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
Python中的Classes和Metaclasses详解
2015/04/02 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
python中退出多层循环的方法
2018/11/27 Python
Python unittest框架操作实例解析
2020/04/13 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
美国眼镜网:GlassesUSA
2017/09/07 全球购物
软件测试工程师笔试题带答案
2015/03/27 面试题
新年爱情寄语
2014/04/08 职场文书
白血病捐款倡议书
2014/05/14 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
财务部岗位职责范本
2015/04/14 职场文书
女儿满月酒致辞
2015/07/29 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书