Skip to content

Commit 10bdd09

Browse files
committed
queue and deque
1 parent 0137d2f commit 10bdd09

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from queue import Queue
2+
3+
4+
class Deque(Queue):
5+
def enqueue_back(self, item):
6+
self.items.append(item)
7+
8+
def dequeue_front(self):
9+
return self.items.pop(0)
10+
11+
12+
if __name__ == '__main__':
13+
deque = Deque()
14+
print(f"데크(Deque)가 비었나요? {deque.isEmpty()}")
15+
print("데크에 숫자 0~9를 추가합니다.")
16+
for i in range(10):
17+
deque.enqueue(i)
18+
print(f"데크 크기: {deque.size()}")
19+
print(f"peek: {deque.peek()}")
20+
print(f"dequeue: {deque.dequeue()}")
21+
print(f"peek: {deque.peek()}")
22+
print(f"데크가 비었나요? {deque.isEmpty()}")
23+
print(deque)
24+
25+
print("\n데크 메서드를 사용합니다.")
26+
print(f"dequeue (앞): {deque.dequeue_front()}")
27+
print(f"peek: {deque.peek()}")
28+
print(deque)
29+
print("enqueue (뒤)를 수행합니다.")
30+
deque.enqueue_back(50)
31+
print(f"peek: {deque.peek()}")
32+
print(deque)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Queue(object):
2+
def __init__(self):
3+
self.items = []
4+
5+
def isEmpty(self):
6+
return not bool(self.items)
7+
8+
def enqueue(self, item):
9+
self.items.insert(0, item)
10+
11+
def dequeue(self):
12+
return self.items.pop()
13+
14+
def size(self):
15+
return len(self.items)
16+
17+
def peek(self):
18+
return self.items[-1]
19+
20+
def __repr__(self):
21+
return f"{self.items}"

0 commit comments

Comments
 (0)