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 相关文章推荐
python3.0 字典key排序
Dec 24 Python
Python Queue模块详解
Nov 30 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
python的内存管理和垃圾回收机制详解
May 18 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
python中树与树的表示知识点总结
Sep 14 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Django之form组件自动校验数据实现
Jan 14 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
python中用ggplot绘制画图实例讲解
Jan 26 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
CI框架表单验证实例详解
2016/11/21 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
详解使用python crontab设置linux定时任务
2016/12/08 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
python super用法及原理详解
2020/01/20 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
Python使用Matlab命令过程解析
2020/06/04 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
幼儿园教师国培感言
2014/02/02 职场文书
《学会待客》教学反思
2014/02/22 职场文书
运动会方队口号
2014/06/07 职场文书
员工薪酬激励方案
2014/06/13 职场文书
出国签证在职证明
2014/09/20 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
面试通知单大全
2015/04/20 职场文书
交通事故责任认定书
2015/08/06 职场文书
初中团支书竞选稿
2015/11/21 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers