网络编程
位置:首页>> 网络编程>> Python编程>> Python常见数据结构之栈与队列用法示例

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

作者:贝贝爱豆豆  发布时间:2023-11-03 20:58:10 

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

来源:https://blog.csdn.net/YANG_Gang2017/article/details/78319527

0
投稿

猜你喜欢

  • 严格来说,Having并不需要一个子表,但没有子表的Having并没有实际意义。如果你只需要一个表,那么你可以用Where子句达到一切目的。
  • 这篇文章主要介绍了Python二次规划和线性规划使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
  • 是否看见大站的广告都是放在内容中间实现文字环绕的呢,一般普通小站广告只能放在内容开头或者结尾,也许大站的cms系统带这个功能吧,我们小站常用
  • ASPJPEG组件是Persits出品的共享软件,试用期为30天,您可以在这里下载:http://www.persits.com/aspjp
  • 1、存储过程基本语法: create procedure sp_name() begin ...... end; 2、如何调用: call
  • 目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解
  • 做设计类网址导航的初衷是为了资源整合,也是在尝试解决问题。假定访问用户都是行业人士,或者目地性很强的有一定了解的用户,应该如何考虑这个组织系
  • 有时会被问到“看看XXX网站如何?”之类的问题。谈到评估,通常都是指产品级的网站,如果模式很新,了解需要花一定时间。于是,很多人又问“那么你
  • 以下是几个文件操作过程,创建文件,删除文件,修改文件:
  • php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置windows下开启方法:1: 首先检查
  •  方法一:<script language="JavaScript"> <!--
  • 定义流的作用是使用统一的方式处理文件、网络和数据压缩等共用同一套函数和用法的操作。简单而言,流是具有流式行为的资源对象。因此,流可以线性读写
  • 引言最常见的闭包 (Closure) 范式大家都很熟悉了:(function() {// ...})(); 很
  • 在对浏览器兼容性要求越来越高的时候,大家是否正在寻找一个完整的解决方案呢?继《[原]最新CSS兼容方案》之后,更新的CSS hack出炉啦,
  • 数据库镜像是将数据库事务处理从一个数据库移动到不同环境中的另一个数据库中。镜像的拷贝是一个备用的拷贝,不能直接访问,它只用在错误恢复的情况下
  • 它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi
  • [参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP10 / SF4 / Chrome2 ][操作系统:Windows]
  • 合理地扩大页面链接响应区域可以提高网页的易用性。同时还要兼顾到链接的交互一致性以及视觉上的平衡,就需要做一些特殊的处理。实例一:一张图配一个
  • 优化糟糕设计的表结果或者索引能很大程度改进mysql的性能。 如果需要高性能, 那么就需要根据不同的操作需求精心设计表结构和索引, 这当然需
  • 在进行Web的交互设计中,颜色信息的传达也是不可或缺的一部分。我们常会发现许多“灰色”的应用,他们的出现总是不动声色而又恰如其分,维持了整个
手机版 网络编程 asp之家 www.aspxhome.com