python实现stack 和 queue
2012-02-18 21:26
344 查看
python实现stack 和 queue
代码:
代码:
#!/usr/bin/python class queue: def __init__(self,size = 20): self.size = size self.queue = [] self.end = -1 def setsize(self,size): self.size = size def In(self,n): if self.end < self.size-1: self.queue.append(n) self.end = self.end+1 else: raise "Queue is full" def Out(self): if self.end != -1: ret = self.queue[0] self.queue = self.queue[1:] self.end = self.end-1 return ret else: raise "Queue is empty" def End(self): return self.end def empty(self): self.queue = [] self.end = -1 def getsize(self): return self.end + 1 if __name__ == "__main__": q = queue() for i in xrange(15): q.In(i) print q.getsize() for i in xrange(15): print q.Out(), print q.empty() print q.getsize() q.setsize(100) for i in xrange(30): try: q.In(i) except: print "Error" else: print str(i)+" OK"
#!/usr/bin/env python class stack: def __init__(self,size=20): self.stack = [] self.size = size self.top = -1 def setsize(self,size): self.size = size def push(self,data): if self.isFull(): raise "stack already full" else: self.stack.append(data) self.top = self.top+1 def pop(self): if self.isEmpty(): raise "stack is empty" else: data = self.stack[-1]; self.top = self.top-1 del self.stack[-1] return data def Top(self): return self.top def isEmpty(self): if self.top == -1: return True else: return False def empty(self): self.stack = [] self.top = -1 def isFull(self): if self.top == self.size-1: return True else: return False if __name__ == '__main__': st = stack() for i in xrange(16): st.push(i) print st.Top() print for i in xrange(16): print st.pop() st.empty() st.setsize(101) for i in xrange(100): st.push(i) for i in xrange(100): print st.pop(),
相关文章推荐
- python实现Stack和Queue
- python实现stack(栈)和队列(queue)
- python实现之极简stack和queue
- 使用LinkedList实现Stack与Queue
- Stack_Queue 两个栈实现一个队列 @CareerCup
- 用两个栈(Stack)实现一个队列(Queue)
- [Python标准库]Queue——线程安全的 FIFO 实现
- 一个stack 实现 queue
- template<typename Y>用两个queue实现stack
- python中使用queue实现约瑟夫环(约瑟夫问题)求解
- 【Python】:拓展Queue实现有序不重复队列
- 用两个栈(Stack)实现一个队列(Queue)
- [Python标准库]Queue——线程安全的 FIFO 实现
- python实现stack并测试
- Implement queue with two stack 用两个堆实现队列
- C# Queue 和Stack的实现
- STL源码剖析 12 list deque stack queue的实现
- stack实现queue ; list实现stack
- python-利用queue和threading实现多线程下载
- Stack_Queue 一个数组实现三个栈 @CareerCup