Skip to content
Snippets Groups Projects
Commit 66633662 authored by Jacob Theisen's avatar Jacob Theisen
Browse files

sort que

parent e1556185
No related branches found
No related tags found
No related merge requests found
...@@ -98,9 +98,17 @@ def calculate_shortest_path(current_node, time, current_neighbour, slutt): ...@@ -98,9 +98,17 @@ def calculate_shortest_path(current_node, time, current_neighbour, slutt):
return False return False
def update_que(que):
tmp_arr = [a for a in res_arr if a.node in que]
tmp_arr.sort(key=lambda x: x.time, reverse=True)
que = [a.node for a in tmp_arr if a in tmp_arr]
return que
queue = [] queue = []
def dijkstras(slutt, fra, start): def dijkstras(slutt, fra, start):
global queue
current_node = [b for b in res_arr if b.node == fra][0] current_node = [b for b in res_arr if b.node == fra][0]
for tmp_edge in edge_arr: for tmp_edge in edge_arr:
if tmp_edge.fra == fra: if tmp_edge.fra == fra:
...@@ -126,18 +134,17 @@ def dijkstras(slutt, fra, start): ...@@ -126,18 +134,17 @@ def dijkstras(slutt, fra, start):
for i in res_arr: for i in res_arr:
if i.time != max_num.time + 1: if i.time != max_num.time + 1:
print(i.node, i.time, i.prev, i.visited) print(i.node, i.time, i.prev, i.visited)
print('que when done is: ', queue)
exit() exit()
else: else:
queue.pop(0) queue.pop(0)
current_node.visited = True current_node.visited = True
queue = update_que(queue)
dijkstras(slutt,queue[0],start) dijkstras(slutt,queue[0],start)
def init_things(): def init_things():
if len(sys.argv) > 1: if len(sys.argv) > 1:
if sys.argv[1] == '-d': if sys.argv[1] == '-d':
...@@ -147,7 +154,7 @@ def init_things(): ...@@ -147,7 +154,7 @@ def init_things():
init_table() init_table()
queue.append(start) queue.append(start)
start_node = [a for a in res_arr if a.node == start][0] start_node = [a for a in res_arr if a.node == start][0]
start_node.time = 1 start_node.time = 0
dijkstras(slutt, start, start) dijkstras(slutt, start, start)
elif sys.argv[1] == '-a': elif sys.argv[1] == '-a':
print('A* not yet implemented') print('A* not yet implemented')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment