python用类实现栈
栈是一种数据结构,最后入栈的元素出栈时会首先拿出来,即后入先出。用python编写脚本,使用类的功能,采用面对对象编程,实现栈的功能。该脚本中初始栈为空栈。
该脚本如下所示:
class stack(object):
def __init__(self):
self.stack = []
def enstack(self,item):
self.stack.append(item)
def Manyenstack(self,*args):
self.stack.extend(args)
def outstack(self):
if not self.stack == [] :
return self.stack.pop()
else :
return None
def showstack(self):
for i in self.stack:
print i,
def length(self):
return len(self.stack)
def top_stack(self):
if not self.stack == []:
return self.stack[-1]
else :
return None
def isempty(self):
return self.stack == []
s1 = stack()
print "push stack :"
s1.enstack(1)
s1.showstack()
print "\n"
s1.Manyenstack(2,3,4)
s1.showstack()
print "\n"
print "pop stack :"
s1.outstack()
s1.showstack()
print "\n"
print "top_stack :"
print s1.top_stack()
print "length_stack :"
print s1.length()
运行脚本后的效果图如下所示:
根据效果图可以看出:push stack是入栈,可以入栈一个元素,也可以入栈多个元素。出栈时出的是最后一个元素”4”。栈顶为”3”。栈的长度是”3”。
可以看出这个脚本可以实现栈的功能。