博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 实现栈
阅读量:4042 次
发布时间:2019-05-24

本文共 1180 字,大约阅读时间需要 3 分钟。

栈(stacks)是一种只能通过访问其栈尾来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征。

下面是python实现栈的代码:

#!/usr/bin/python#coding=utf-8class Stack(object) :  def __init__(self,size):    #类的构造函数    self.size = size    self.stack = []  def __str__(self):    #类的字符串输出方法,类似于java的.toString()方法    return str(self.stack)  def getSize(self) :    #获取栈当前大小    return len(self.stack)    def push(self, x) :    #入栈,栈满抛异常    if self.isfull() :      #return -1      raise Exception("Stack is full")    self.stack.append(x)  def pop(self) :    #出栈,栈空抛异常    if self.isempty() :      #return -1      raise Exception("Stack is empty")    topElement = self.stack[-1]     self.stack.remove(topElement)    return topElement    def isempty(self) :    #判断栈空    if len(self.stack) == 0 :      return True    return False      def isfull(self) :    #判断栈满    if len(self.stack) == self.size :      return True    return False

下面是模块内的测试代码:

if __name__ == '__main__' :  stackTest = Stack(10)  for i in range(10) :    stackTest.push(i)  print stackTest.getSize()  print stackTest.isempty()  print stackTest.isfull()  print stackTest  for i in range(6) :    stackTest.pop()  print stackTest.getSize()  print stackTest

测试结果:

s

转载地址:http://ucmdi.baihongyu.com/

你可能感兴趣的文章
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
linux和windows内存布局验证
查看>>
linux insmod error -1 required key invalid
查看>>
linux kconfig配置
查看>>
linux不同模块completion通信
查看>>
linux printf获得时间戳
查看>>
C语言位扩展
查看>>
linux dump_backtrace
查看>>
linux irqdebug
查看>>
git 常用命令
查看>>
linux位操作API
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>