棧是一種先進后出的隊列(FILO)熄浓,存入的時候叫壓入棧,取出數(shù)據(jù)時叫彈出棧年鸳。
棧是一種很重要的數(shù)據(jù)結(jié)構(gòu)趴久,遞歸的內(nèi)部機制就是依托與棧。下面用python模擬了一個棧搔确。其實python的list就是一個棧的簡單實現(xiàn)彼棍。
#coding:utf-8
class Stack():
def __init__(self):
self.items = []
def isEmpty(self):
return len(self.items) == 0
def push(self,data):
self.items.append(data)
def pop(self):
return self.items.pop()
def size(self):
return len(self.items)
def peek(self):
if not self.isEmpty():
return self.items[len(self.items) - 1]
if __name__ == '__main__':
stack = Stack()
print stack.isEmpty()
for i in range(18):
stack.push(i)
print stack.pop()
print stack.size()