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发送伪造的arp请求
Jan 09 Python
Python NumPy库安装使用笔记
May 18 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
python2.7实现爬虫网页数据
May 25 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
用Python写一个自动木马程序
Sep 17 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
python程序如何进行保存
Jul 03 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 Python
python数据处理之Pandas类型转换
Apr 28 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
WebPack基础知识详解
2017/01/16 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
vue中appear的用法
2017/08/17 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
详解vue-cli3多环境打包配置
2019/03/28 Javascript
python处理Excel xlrd的简单使用
2017/09/12 Python
Python if语句知识点用法总结
2018/06/10 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
python实现两个文件夹的同步
2019/08/29 Python
python excel多行合并的方法
2020/12/09 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
土建资料员岗位职责
2014/01/04 职场文书
暑期培训随笔感言
2014/03/10 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
利用js实现简单开关灯代码
2021/11/23 Javascript
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA