class Pystack:
def __init__(self,size=30):
self.stack=[] #堆栈列表
self.size=size #栈大小
self.top=-1 #栈顶位置
def setSize(self,size): #可改变栈的大小
self.size=size
def push(self,element): #压栈
if self.isFull():
raise 'PyStackOverflow'
else:
self.stack.append(element)
self.top=self.top+1
def pop(self): #出栈
if self.isEmpty():
raise 'PyStackUnderflow'
else:
element=self.stack[-1]
self.top=self.top-1
del self.stack[-1]
return element
def Top(self): #栈顶位置
return self.top
def empty(self): #清空栈
self.stack=[]
self.top=-1
def isEmpty(self): #判断栈是否为空
if self.top==-1:
return True
else:
return False
def isFull(self): #判断栈是否满
if self.top==self.size-1:
return True
else:
return False
if __name__=='__main__':
stacks=Pystack()
for i in range(10):
stacks.push(i)
print stacks.Top()
for i in range(10):
print stacks.pop()
stacks.empty()
for i in range(21):
stacks.push(i)
stack=stacks.stack
print stack #打印栈元素
def __init__(self,size=30):
self.stack=[] #堆栈列表
self.size=size #栈大小
self.top=-1 #栈顶位置
def setSize(self,size): #可改变栈的大小
self.size=size
def push(self,element): #压栈
if self.isFull():
raise 'PyStackOverflow'
else:
self.stack.append(element)
self.top=self.top+1
def pop(self): #出栈
if self.isEmpty():
raise 'PyStackUnderflow'
else:
element=self.stack[-1]
self.top=self.top-1
del self.stack[-1]
return element
def Top(self): #栈顶位置
return self.top
def empty(self): #清空栈
self.stack=[]
self.top=-1
def isEmpty(self): #判断栈是否为空
if self.top==-1:
return True
else:
return False
def isFull(self): #判断栈是否满
if self.top==self.size-1:
return True
else:
return False
if __name__=='__main__':
stacks=Pystack()
for i in range(10):
stacks.push(i)
print stacks.Top()
for i in range(10):
print stacks.pop()
stacks.empty()
for i in range(21):
stacks.push(i)
stack=stacks.stack
print stack #打印栈元素