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中pycurl库的用法实例
Sep 30 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
python分数表示方式和写法
Jun 26 Python
Python turtle绘画象棋棋盘
Aug 21 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
python 插入日期数据到Oracle实例
Mar 02 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
opencv 实现特定颜色线条提取与定位操作
Jun 02 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
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
如何将python中的List转化成dictionary
2016/08/15 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python基本socket通信控制操作示例
2019/01/30 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Python numpy数组转置与轴变换
2019/11/15 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
Araks官网:纽约内衣品牌
2020/10/15 全球购物
社会学专业学生职业规划书
2014/02/07 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
计划生育证明书写要求
2014/09/17 职场文书
个人求职自荐信范文
2015/03/06 职场文书
人与自然的观后感
2015/06/18 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js