python

超轻量级php框架startmvc

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

更新时间:2020-05-13 01:18:02 作者:startmvc
本文实例讲述了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 数据结构