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爬取网页中的图片(搜狗图片)详解
Mar 23 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
python zip()函数使用方法解析
Oct 31 Python
Python模块 _winreg操作注册表
Feb 05 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
Keras实现DenseNet结构操作
Jul 06 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 Python
Python合并pdf文件的工具
Jul 01 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制作新闻系统的思路
2006/10/09 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python 从相对路径下import的方法
2018/12/04 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
简单的Python人脸识别系统
2020/07/14 Python
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
如何使用PHP session
2015/04/21 面试题
电力公司个人求职信范文
2014/02/04 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript