#! /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__':
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实现基本数据结构---栈操作
最新推荐文章于 2024-12-25 00:53:27 发布
本文介绍了一个使用Python实现的基本栈数据结构。通过定义一个Stack类,实现了栈的主要操作:push(压栈)、pop(出栈)、stackEmpty(判断是否为空)和stackFull(判断是否已满)。文章提供了一个简单的示例,演示了如何使用这个栈类进行基本的操作。
5396

被折叠的 条评论
为什么被折叠?



