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 处理JSON的实例详解
Oct 29 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
python按修改时间顺序排列文件的实例代码
Jul 25 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
NumPy统计函数的实现方法
Jan 21 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
Mar 06 Python
python神经网络编程实现手写数字识别
May 27 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
深入探讨opencv图像矫正算法实战
May 21 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数字转汉字代码(算法)
2011/10/08 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
使用PHP开发留言板功能
2019/11/19 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python输出指定字符串的方法
2020/02/06 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
python中return不返回值的问题解析
2020/07/22 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
英文版网络工程师求职信
2013/10/28 职场文书
早会主持词
2014/03/17 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
学校远程教育工作总结
2015/08/11 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
使用Python开发冰球小游戏
2022/04/30 Python