Python: Stack class

 1 class Stack():
 2     def __init__(self, size):
 3         self.stack = []
 4         self.size = size
 5         self.top = -1
 6 
 7     def push(self, content):
 8         if self.isFull():
 9             print "Stack is full"
10         else:
11             self.stack.append(content)
12             self.top += 1
13 
14     def pop(self):
15         if self.isEmpty():
16             print "Stack is empty"
17         else:
18             self.stack.pop()
19             self.top -= 1
20 
21     def isFull(self):
22         if self.top + 1 == self.size:
23             return True
24         else:
25             return False
26 
27     def isEmpty(self):
28         if self.top == -1:
29             return True
30         else:
31             return False
32 
33 def printStackInfo(aStack):
34     print "isEmpty:	{0}".format(aStack.isEmpty())
35     print "isFull:		{0}".format(aStack.isFull())
36     print "top:		{0}".format(aStack.top)
37     print "stack:		{0}".format(aStack.stack)
38 
39 print "1. Initialise a stack with a size of 2, i.e. store at most 2 elements"
40 s = Stack(2)
41 printStackInfo(s)
42 
43 print "
2. Push 'a'"
44 s.push('a')
45 printStackInfo(s)
46 
47 print "
3. push 'b'"
48 s.push('b')
49 printStackInfo(s)
50 
51 print "
4. push 'c'"
52 s.push('c')
53 printStackInfo(s)
54 
55 print "
5. pop the top element"
56 s.pop()
57 printStackInfo(s)
58 
59 print "
6. pop the top element"
60 s.pop()
61 printStackInfo(s)
62 
63 print "
7. pop the top element"
64 s.pop()
65 printStackInfo(s)
原文地址:https://www.cnblogs.com/skyssky/p/4632054.html