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程序设计有所帮助。

相关文章

Flask中endpoint的理解(小结)

在flask框架中,我们经常会遇到endpoint这个东西,最开始也没法理解这个到底是做什么的。最近正好在研究Flask的源码,也就顺带了解了一下这个endpoint 首先,我们看一个...

Pytorch之卷积层的使用详解

1.简介(torch.nn下的) 卷积层主要使用的有3类,用于处理不同维度的数据 参数 Parameters: in_channels(int) – 输入信号的通道 out_channe...

python 删除大文件中的某一行(最有效率的方法)

用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件。 但如果要处理一个很大的文本,比如GB级别的文本时,这种方法不仅需要占用...

python2.7 mayavi 安装图文教程(推荐)

python2.7 mayavi 安装图文教程(推荐)

工具:python2.7 相关包:traits-4.6.0-cp27-cp27m-win32.whl, VTK-7.1.1-cp27-cp27m-win32.whl, mayavi-4....

Python3.遍历某文件夹提取特定文件名的实例

批量处理文件时,常需要先遍历某个路径提取特定条件的文件名。这篇写一个暴力遍历但很简洁的方法,真的非常简洁但是非常暴力。 例子目标是:获得存放遥感数据的文件夹下文件夹名以“_BAD”结尾的...