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 相关文章推荐
Django自定义分页效果
Jun 27 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
pandas值替换方法
Jul 10 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
使用Python实现音频双通道分离
Dec 25 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 Python
Python实现单例模式的5种方法
Jun 15 Python
Python实现列表拼接和去重的三种方式
Jul 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
php socket方式提交的post详解
2008/07/19 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php array_walk() 数组函数
2011/07/12 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
Web开发之JavaScript
2012/03/29 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
2017/08/31 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
python异常触发及自定义异常类解析
2019/08/06 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
无婚姻登记记录证明
2015/06/18 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python