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 ElementTree 基本读操作示例
Apr 09 Python
python文件和目录操作函数小结
Jul 11 Python
Python实现全角半角字符互转的方法
Nov 28 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 Python
对pandas中Series的map函数详解
Jul 25 Python
pandas dataframe的合并实现(append, merge, concat)
Jun 24 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
keras之权重初始化方式
May 21 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
Python面向对象之内置函数相关知识总结
Jun 24 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php 文件上传系统手记
2009/10/26 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
vue axios用法教程详解
2017/07/23 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中按值来获取指定的键
2019/03/04 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
解决Python安装cryptography报错问题
2020/09/03 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
会计出纳员的自我评价
2014/01/15 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
毕业典礼邀请函
2015/01/31 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
春节慰问信范文
2015/02/15 职场文书
网络销售员岗位职责
2015/04/11 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python