python - 栈与队列(只有代码)
Posted Q
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - 栈与队列(只有代码)相关的知识,希望对你有一定的参考价值。
1. 栈:
- 后进先出
class Stack(object): def __init__(self): self.stack = [] def peek(self): return self.stack[len(self.stack)-1] def empty(self): return self.stack == [] def push(self, values): self.stack.append(values) return values def pop(self): try: return self.stack.pop() except IndexError as q: return None
2. 队列:
- 先进先出
class Queue(object): def __init__(self, max_len): self.len = max_len # 记录队列的最大存储量 self.index = -1 # 记录队列的索引 self.q = [] # 存储队列的数据 def push(self, values): if len(self.q) == self.len: print(‘len_q : ‘,len(self.q)) print(‘len : ‘,self.len) raise IndexError("Queue is full") else: self.index += 1 return self.q.append(values) def pop(self): if self.index == -1: raise IndexError("Queue is empty") self.index -= 1 return self.q.pop(0) q = Queue(2) for i in range(3): q.push(i) print(q.pop()) print(q.pop())
以上是关于python - 栈与队列(只有代码)的主要内容,如果未能解决你的问题,请参考以下文章