題目
隊(duì)列是一種常見的數(shù)據(jù)結(jié)構(gòu),其特點(diǎn)是 先進(jìn)先出,并且只能從隊(duì)尾進(jìn)隊(duì)頭出,也就是說最先放進(jìn)去的元素,能夠最先取出來。
請(qǐng)使用 列表list 模擬實(shí)現(xiàn)隊(duì)列的下列操作:
- push(x) -- 將元素 x 推到隊(duì)列的末尾
- pop() -- 從隊(duì)列開頭移除元素
- peek() -- 返回隊(duì)列開頭的元素
- empty() -- 判斷隊(duì)列是否為空
- size() -- 獲取隊(duì)列的長度
說明:假設(shè)每次調(diào)用 pop 和 peek 都能保證隊(duì)列不為空。
代碼實(shí)現(xiàn)
class MyQueue:
def __init__(self):
self.q = []
def push(self, x):
self.q.append(x)
def pop(self):
self.q.pop(0)
def peek(self):
return self.q[0]
def empty(self):
return self.q == []
def size(self):
return len(self.q)
測(cè)試過程
if __name__ == '__main__':
queue = MyQueue()
queue.push(11) # 入隊(duì)
queue.push(22) # 入隊(duì)
print(queue.peek())
print(queue.size())
queue.pop() # 出隊(duì)
print(queue.empty())
print(queue.peek())
queue.pop() # 出隊(duì)
print(queue.size())
print(queue.empty())
執(zhí)行代碼后,得到如下結(jié)果:
11
2
False
22
0
True
更多Python編程題,等你來挑戰(zhàn):Python編程題匯總(持續(xù)更新中……)