栈(stack) :栈又称之为堆栈是一个特殊的有序表,其插入和删除操作都在栈顶进行操作,并且按照先进后出,后进先出的规则进行运作。
如下图所示:
代码实现:
# coding = utf-8
class Stack(object):
def __init__(self):
self._stack = []
def push(self, data):
#压栈
self._stack.append(data)
def pop(self):
# 出栈
self._stack.pop()
def is_empty(self):
# 判空
if len(self._stack) == 0:
return True
else:
return False
def peek(self):
# 查看栈顶
return self._stack[-1]
def size(self):
# 长度
return len(self._stack)
def print1(self):
print(self._stack)
if __name__ == "__main__":
print("原栈:", end="")
myStack.print1()
print("压栈:")
for i in range(10):
myStack.push(i)
myStack.print1()
print("出栈:")
for j in range(5):
myStack.pop()
myStack.print1()
程序运行结果:
原栈:[]
压栈:
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
出栈:
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4]