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数据类型详解(四)字典:dict
May 12 Python
视觉直观感受若干常用排序算法
Apr 13 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 Python
python使用百度文字识别功能方法详解
Jul 23 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
浅析python中while循环和for循环
Nov 19 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
Python执行时间的几种计算方法
Jul 31 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
ThinkPHP模型详解
2015/07/27 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
js 页面输出值
2008/11/30 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
Python 时间处理datetime实例
2008/09/06 Python
从零学Python之入门(三)序列
2014/05/25 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
详解Python 中的容器 collections
2020/08/17 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
5.1手机促销活动
2014/01/17 职场文书
四年级学生评语大全
2014/04/21 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
父亲节活动总结
2015/02/12 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers