Maze solving: Difference between revisions

Added 11l
(Added Wren)
(Added 11l)
Line 11:
and a simple depth-first tree search can be used.
<br><br>
 
=={{header|11l}}==
{{trans|Python}}
 
<lang 11l>F dijkstra(graph, source)
V n = graph.len
V dist = [Float.infinity] * n
V previous = [-1] * n
dist[source] = 0
V Q = Array(0 .< n)
L !Q.empty
V u = min(Q, key' n -> @dist[n])
Q.remove(u)
I dist[u] == Float.infinity
L.break
L(v) 0 .< n
I graph[u][v] & (v C Q)
V alt = dist[u] + graph[u][v]
I alt < dist[v]
dist[v] = alt
previous[v] = u
R previous
 
F display_solution(predecessor)
V cell = predecessor.len - 1
L cell != 0
print(cell, end' ‘<’)
cell = predecessor[cell]
print(0)
 
V graph = [
[0,1,0,0,0,0],
[1,0,1,0,1,0],
[0,1,0,0,0,1],
[0,0,0,0,1,0],
[0,1,0,1,0,0],
[0,0,1,0,0,0]
]
 
display_solution(dijkstra(graph, 0))</lang>
 
{{out}}
<pre>
5<2<1<0
</pre>
 
=={{header|Ada}}==
1,481

edits