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

yipeiwu_com6年前Python基础

本文实例讲述了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加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

Django实现分页功能

Django实现分页功能

Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表、元组或其它可迭代的对象。 class Paginat...

python cx_Oracle的基础使用方法(连接和增删改查)

问题 使用python操作oracle数据库,获取表的某几个字段作为变量值使用。 使用Popen+sqlplus的方法需要对格式进行控制,通过流获取这几个字段值不简洁(个人观点……)。...

python实现JAVA源代码从ANSI到UTF-8的批量转换方法

本文实例讲述了python实现JAVA源代码从ANSI到UTF-8的批量转换方法。分享给大家供大家参考。具体如下: 喜欢用eclipse的大神们,可能一不小心代码就变成ANSI码了,需要...

python批量导出导入MySQL用户的方法

数据库迁移(A -> B),需要把用户也迁移过去,而用户表(mysql.user)有上百个用户。有2种方法进行快速迁移:1,在同版本的条件下,直接备份A服务器的mysql数据库,还...

python生成九宫格图片

python生成九宫格图片

本文实例为大家分享了Python九宫格图片生成的具体代码,供大家参考,具体内容如下 利用Image类将一张图片分割成9张,发朋友圈利器,打包成EXE后,长期使用。 效果大致是: 库:p...