-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcircularqueue.py
More file actions
40 lines (32 loc) · 786 Bytes
/
circularqueue.py
File metadata and controls
40 lines (32 loc) · 786 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class CircularQueue:
li = [0] * 5
rear, front = 0, 0
def enqueue(self, a):
if self.is_full():
return "꽉 참"
else:
self.li[self.rear % len(self.li)] = a
self.rear += 1
def dequeue(self):
if self.is_empty():
return "비어있음"
else:
self.front += 1
return self.li[(self.front - 1) % len(self.li)]
def is_empty(self):
return self.rear == self.front
def is_full(self):
return (self.rear+1)%len(self.li) == self.front%len(self.li)
queue = CircularQueue()
queue.enqueue(3)
queue.enqueue(2)
print(queue.dequeue())
print(queue.dequeue())
queue.enqueue(1)
queue.enqueue(3)
queue.enqueue(5)
queue.enqueue(8)
print(queue.dequeue())
print(queue.dequeue())
print(queue.dequeue())
print(queue.dequeue())