栈是一个逻辑结构,通俗的讲,是一个有“纪律”的线性表,栈只允许一端进行插入和删除操作,即“先进后出”规则。如下图所示:
红箭头代表栈顶,即只允许插入和删除的那一端。绿箭头代表栈底,是固定的,即不允许进行插入和删除的另一端。当这个栈内没有元素时,则此时该栈被称为空栈。同样的,栈也有初始化,判定是否为空,插入(进栈),删除(出栈)等操作。下面是关于栈的python实现。
顺序栈实现:
#coding:utf-8
'''
author:xzfreewind
'''
#顺序存储
class Stack(object):
#初始化一个栈
def __init__(self,size):
self.size = size
self.num = 0
self.stack = []
#获取栈的长度
def getSize(self):
return self.num
#输出栈
def outStack(self):
for l in self.stack:
print l