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 相关文章推荐
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python3 读写文件换行符的方法
Apr 09 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Python列表(List)知识点总结
Feb 18 Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 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读取RSS feed的代码
2008/08/01 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
php接口技术实例详解
2016/12/07 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Python unittest模块用法实例分析
2018/05/25 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
python对csv文件追加写入列的方法
2019/08/01 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
Django使用rest_framework写出API
2020/05/21 Python
python regex库实例用法总结
2021/01/03 Python
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
校三好学生主要事迹
2014/01/11 职场文书
网吧温馨提示
2015/07/17 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
利用Java连接Hadoop进行编程
2022/06/28 Java/Android