Python实现基本数据结构中栈的操作示例

 更新时间:2017年12月04日 10:59:53   作者:爱橙子的OK绷  
这篇文章主要介绍了Python实现基本数据结构中栈的操作,包括基于Python实现栈的定义、入栈、出栈、判断栈空或栈满等情况,需要的朋友可以参考下

本文实例讲述了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编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python安全获取域管理员权限几种方式操作示例

    Python安全获取域管理员权限几种方式操作示例

    在不考虑直接攻击域控的情况下,如何快速获取域管理员权限呢?本文分享几种常见的获取域管理员权限的方式,有需要的朋友可以借鉴参考下
    2021-10-10
  • Python下的Softmax回归函数的实现方法(推荐)

    Python下的Softmax回归函数的实现方法(推荐)

    下面小编就为大家带来一篇Python下的Softmax回归函数的实现方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Python基于LightGBM进行时间序列预测

    Python基于LightGBM进行时间序列预测

    LightGBM是扩展机器学习系统。是一款基于GBDT(梯度提升决策树)算法的分布梯度提升框架。其设计思路主要集中在减少数据对内存与计算性能的使用上,以及减少多机器并行计算时的通讯代价。本文将通过LightGBM进行时间序列预测,感兴趣的可以了解一下
    2022-03-03
  • PyCharm Ctrl+Shift+F 失灵的简单有效解决操作

    PyCharm Ctrl+Shift+F 失灵的简单有效解决操作

    这篇文章主要介绍了PyCharm Ctrl+Shift+F 失灵的简单有效解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • python中的十大%占位符对应的格式化的使用方法

    python中的十大%占位符对应的格式化的使用方法

    本文主要介绍了python中的十大%占位符对应的格式化的使用方法,它可以很好的帮助我们解决一些字符串格式化的问题, 文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 使用spyder3调试python程序的实现步骤

    使用spyder3调试python程序的实现步骤

    本文主要介绍了使用spyder3调试python程序的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • python二分法查找函数底值

    python二分法查找函数底值

    大家好,本篇文章主要讲的是python二分法查找函数底值,感兴趣的同学赶快来看一看吧,对你有用的话记得收藏一下,方便下次浏览
    2021-12-12
  • Matplotlib子图的创建的实现

    Matplotlib子图的创建的实现

    本文主要介绍了Matplotlib子图的创建的实现,包括fig.add_axes()创建子图和plt.axes创建子图这两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Python绘制三维立体图详解与绘图填充方式

    Python绘制三维立体图详解与绘图填充方式

    这篇文章主要介绍了Python绘制三维立体图详解与绘图填充方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python基础学习之函数方法实例详解

    Python基础学习之函数方法实例详解

    这篇文章主要介绍了Python基础学习之函数方法,结合实例形式分析了Python函数方法的定义、参数、复用和继承相关操作技巧,需要的朋友可以参考下
    2019-06-06

最新评论