第九节 堆栈的概念和python代码实现

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈的元素有先进后出的原则

 1 class Stack(object):
 2     ''''''
 3     def __init__(self):
 4         '''以列表作为容器'''
 5         self.__list = []
 6 
 7     def push(self, item):
 8         '''压栈,添加一个元素'''
 9         self.__list.append(item)
10 
11     def pop(self):
12         '''弹出栈顶元素'''
13         return self.__list.pop()
14 
15     def peek(self):
16         '''返回栈顶元素'''
17         if self.__list:
18             return self.__list[-1]
19         return None
20 
21     def is_empty(self):
22         '''判断栈是否为空'''
23         return not self.__list
24 
25     def size(self):
26         return len(self.__list)
27 
28 if __name__ == "__main__":
29     stack = Stack()
30     stack.push(3)
31     stack.push(4)
32     print(stack.pop())

 

posted @ 2020-03-23 23:08  kog_maw  阅读(180)  评论(0编辑  收藏  举报