码迷,mamicode.com
首页 > 编程语言 > 详细

python实现栈

时间:2015-09-20 01:47:35      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

  由于python弱类型,因此免去了写泛型的麻烦。我定义一个stack类以栈的操作来维护一个list。

 1 class stack:
 2     def __init__(self, _size = 1024):
 3         self.data = []
 4         self._size = _size
 5         self._top = -1
 6 
 7     def empty(self):
 8         if self._top == -1:
 9             return True
10         else:
11             return False
12 
13     def size(self):
14         return self._top+1
15 
16     def top(self):
17         return self.data[self._top]
18 
19     def clear(self):
20         self.data = []
21         self._top = -1
22 
23     def push(self, ele):
24         if self._top + 1 == self._size:
25             raise Stack Over Flow
26         else:
27             self.data.append(ele)
28             self._top += 1
29 
30     def pop(self):
31         if self.empty():
32             raise Stack Under Flow
33         else:
34             ele = self.data[self._top]
35             del self.data[self._top]
36             self._top -= 1
37             return ele
38 
39 s = stack(5)
40 
41 s.push(1)
42 s.push(2)
43 s.push(3)
44 s.push(5)
45 s.push(4)
46 # s.push(233)
47 
48 size = s.size()
49 for i in range(0, size):
50     print(s.top())
51     s.pop()

 

python实现栈

标签:

原文地址:http://www.cnblogs.com/vincentX/p/4822746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!