Python实现基本数据结构中栈的操作示例


Posted in Python onDecember 04, 2017

本文实例讲述了Python实现基本数据结构中栈的操作。分享给大家供大家参考,具体如下:

#! /usr/bin/env python
#coding=utf-8
#Python实现基本数据结构---栈操作
class Stack(object):
  def __init__(self,size):
    self.size = size
    self.stack = []
    self.top = 0#初始化,top=0时则为空栈
  def push(self,x):
    if self.stackFull():#进栈之前检查栈是否已满
      raise Exception("overflow !")
    else:
      self.stack.append(x)
      self.top=self.top+1#push进去的第一个元素下标为1
  def pop(self):
    if self.stackEmpty():
      raise Exception("underflow !")
    else:
      self.top=self.top-1
      return self.stack.pop()#利用Python内建函数pop()实现弹出
  def stackEmpty(self):
    if self.top == 0:#判断栈空
      return True
    else:
      return False
  def stackFull(self):
    if self.top == self.size:#判断栈满!!!
      return True
    else:
      return False
if __name__ == '__main__':
  print "三水点靠木测试结果:"
  s=Stack(10)
  for i in range(3):
    s.push(i)
  print s.stack
  print s.pop()
  print s.stack
  print s.pop()
  print s.pop()
  print s.stack
  print s.stackEmpty()
  print s.stackFull()
  for i in range(10):
    s.push(i)
  print s.stackFull()

运行结果:

Python实现基本数据结构中栈的操作示例

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

Python 相关文章推荐
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
django使用图片延时加载引起后台404错误
Apr 18 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
PyTorch预训练的实现
Sep 18 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
Python list运算操作代码实例解析
Jan 20 Python
Python类的动态绑定实现原理
Mar 21 Python
Python PIL库图片灰化处理
Apr 07 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
Python实现多进程共享数据的方法分析
Dec 04 #Python
Python数据结构之栈、队列的实现代码分享
Dec 04 #Python
关于Python数据结构中字典的心得
Dec 04 #Python
python Flask实现restful api service
Dec 04 #Python
浅谈Python中带_的变量或函数命名
Dec 04 #Python
Python中对象的引用与复制代码示例
Dec 04 #Python
Python3 Random模块代码详解
Dec 04 #Python
You might like
PHP默认安装产生系统漏洞
2006/10/09 PHP
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
为查询结果建立向后/向前按钮
2006/10/09 PHP
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python实现的读写json文件功能示例
2018/06/05 Python
美国NBA官方商店:NBA Store
2019/04/12 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
大学生党课思想汇报
2013/12/29 职场文书
七年级政治教学反思
2014/02/03 职场文书
国培教师自我鉴定
2014/02/12 职场文书
婚礼主持词开场白
2014/03/13 职场文书
《社戏》教学反思
2014/04/15 职场文书
医学专业自荐信
2014/06/14 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
Python List remove()实例用法详解
2021/08/02 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js