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多线程实现同步的四种方式
May 02 Python
Python实现的桶排序算法示例
Nov 29 Python
django 发送手机验证码的示例代码
Apr 25 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
python实现手机销售管理系统
Mar 19 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
Python getsizeof()和getsize()区分详解
Nov 20 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
基于react组件之间的参数传递(详解)
2017/09/05 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
python七夕浪漫表白源码
2019/04/05 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
python中的yield from语法快速学习
2020/11/06 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
求职自荐信格式
2013/12/04 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
党员实事承诺书
2014/03/26 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
设备管理实施方案
2014/05/31 职场文书