本文实例讲述了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 数据结构 栈