From 666336627f9624293ce75f11537ef36b4b39e3a6 Mon Sep 17 00:00:00 2001
From: Jacob Theisen <jacobth@stud.ntnu.no>
Date: Mon, 22 Nov 2021 14:55:13 +0100
Subject: [PATCH] sort que

---
 ov9/program1.py | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/ov9/program1.py b/ov9/program1.py
index 7e38cc0..0ac072d 100644
--- a/ov9/program1.py
+++ b/ov9/program1.py
@@ -98,9 +98,17 @@ def calculate_shortest_path(current_node, time, current_neighbour, slutt):
         return False
 
 
-queue = []
+
+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 = [] 
 def dijkstras(slutt, fra, start):
-    
+    global queue
     current_node = [b for b in res_arr if b.node == fra][0]
     for tmp_edge in edge_arr:
         if tmp_edge.fra == fra:
@@ -126,18 +134,17 @@ def dijkstras(slutt, fra, start):
         for i in res_arr:
             if i.time != max_num.time + 1:
                 print(i.node, i.time, i.prev, i.visited)
+        print('que when done is: ', queue)
         exit()
-
     else:
         queue.pop(0)
         current_node.visited = True
+        queue = update_que(queue)  
         dijkstras(slutt,queue[0],start)
              
 
 
 
-
-
 def init_things():
     if len(sys.argv) > 1:
         if sys.argv[1] == '-d':
@@ -147,7 +154,7 @@ def init_things():
             init_table()
             queue.append(start)
             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)
         elif sys.argv[1] == '-a':
             print('A* not yet implemented')
-- 
GitLab