-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpriorityQueue.py
More file actions
34 lines (28 loc) · 1015 Bytes
/
Copy pathpriorityQueue.py
File metadata and controls
34 lines (28 loc) · 1015 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
# A simple implementation of Priority Queue
# using Queue.
# Digunakan untuk memudahkan pada saat melakukan algoritma A*
# SOURCE : https://www.geeksforgeeks.org/priority-queue-in-python/, accessed on Wednesday, 27/03/2019 21.43
class PriorityQueue(object):
def __init__(self):
self.queue = []
def __str__(self):
return ' '.join([str(i) for i in self.queue])
# for checking if the queue is empty
def isEmpty(self):
return len(self.queue) == []
# for inserting an element in the queue
def insert(self, data):
self.queue.append(data)
# for popping an element based on Priority
def delete(self):
try:
min = 0
for i in range(len(self.queue)):
if self.queue[i].f < self.queue[min].f:
min = i
item = self.queue[min]
del self.queue[min]
return item
except IndexError:
print()
exit()