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 相关文章推荐
Django的session中对于用户验证的支持
Jul 23 Python
python采用django框架实现支付宝即时到帐接口
May 17 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
pandas 数据实现行间计算的方法
Jun 08 Python
详解django2中关于时间处理策略
Mar 06 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
python框架flask表单实现详解
Nov 04 Python
Python解析json代码实例解析
Nov 25 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
python 实现学生信息管理系统的示例
Nov 28 Python
python for循环赋值问题
Jun 03 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
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
js读写json文件实例代码
2014/10/21 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python subprocess模块详细解读
2018/01/29 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
浅谈Python基础—判断和循环
2019/03/22 Python
简单了解django orm中介模型
2019/07/30 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
配置管理计划的主要内容有哪些
2014/06/20 面试题
2014年纪检部工作总结
2014/11/12 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
考试作弊检讨
2015/01/27 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
react国际化react-intl的使用
2021/05/06 Javascript