File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change 11# -*- coding: utf-8 -*-
22
3+ from collections import deque
34
45# NOTE:注意这里是第三章 linked_list.py 里的内容,为了使文件自包含,我直接拷贝过来的
6+
7+
58class Node (object ):
69 def __init__ (self , value = None , next = None ): # 这里我们 root 节点默认都是 None,所以都给了默认值
710 self .value = value
@@ -154,3 +157,26 @@ def test_queue():
154157 with pytest .raises (EmptyError ) as excinfo : # 我们来测试是否真的抛出了异常
155158 q .pop () # 继续调用会抛出异常
156159 assert 'empty queue' == str (excinfo .value )
160+
161+
162+ class MyQueue :
163+ """
164+ 使用 collections.deque 可以迅速实现一个队列
165+ """
166+ def __init__ (self ):
167+ self .items = deque ()
168+
169+ def append (self , val ):
170+ return self .items .append (val )
171+
172+ def pop (self ):
173+ return self .items .popleft ()
174+
175+ def __len__ (self ):
176+ return len (self .items )
177+
178+ def empty (self ):
179+ return len (self .items ) == 0
180+
181+ def front (self ):
182+ return self .items [0 ]
You can’t perform that action at this time.
0 commit comments