-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.py
More file actions
33 lines (26 loc) · 724 Bytes
/
queue.py
File metadata and controls
33 lines (26 loc) · 724 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
# author: Daniel Lozano
class Queue:
def __init__(self):
self._queue = []
self._count = 0
self._first_element = 0
def enqueue(self, value):
self._queue.append(value)
self._count += 1
def dequeue(self):
if self._count > 0:
self._first_element += 1
self._count -= 1
else:
raise Exception("Empty array")
def peek(self):
if self._count > 0:
return self._queue[self._first_element]
else:
raise Exception("Empty array")
def empty(self):
return self._count == 0
def clean(self):
self._queue = []
self._count = 0
self._first_element = 0