栈的实现

 1 class Stack(object):
 2     #定义初始化方法
 3     def __init__(self):
 4         #初始化一个空列表
 5         self.__list = []
 6     
 7     #压栈
 8     def push(self,item):
 9         self.__list.append(item) #在尾部添加不需要移动元素,o(1)
10         #self.__list.insert(0,item) #在头部添加元素需要移动元素,o(n)
11     
12     #弹栈
13     def pop(self):
14         return self.__list.pop()
15     
16     #返回栈顶元素
17     def peek(self):
18         return self.__list[len(self.__list)-1]
19     
20     #判断栈是否为空
21     def is_empty(self):
22         return self.__list == []
23     
24     #判断栈的大小
25     def size(self):
26         return len(self.__list)
27 
28 if __name__ == '__main__':
29     stack = Stack()
30     print('是否是空栈:',stack.is_empty())
31     #压栈
32     stack.push(1)
33     stack.push(2)
34     stack.push(3)
35     stack.push(4)
36     #弹栈
37     print(stack.pop())
38     print(stack.pop())
39     print(stack.pop())
40     print(stack.pop())
1 是否是空栈: True
2 4
3 3
4 2
5 1

 

posted @ 2020-05-14 16:41  小他_W  阅读(137)  评论(0编辑  收藏  举报