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编写简单爬虫资料汇总
Mar 22 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
python 换位密码算法的实例详解
Jul 19 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
深入了解Django View(视图系统)
Jul 23 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
python实现KNN分类算法
Oct 16 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Django如何使用redis作为缓存
May 21 Python
python3.7调试的实例方法
Jul 21 Python
pytorch学习教程之自定义数据集
Nov 10 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/09/06 PHP
基于php下载文件的详解
2013/06/02 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
jquery $.ajax相关用法分享
2012/03/16 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
python中如何写类
2020/06/29 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
优秀食品类广告词
2014/03/19 职场文书
求职信范文大全
2014/05/26 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers