dijkstra 647 B

12345678910111213141516171819202122232425262728
  1. /* Given graph processed by dijkstra, and node,
  2. * color shortest path
  3. * Assumes path has been computed by dijkstra
  4. */
  5. BEG_G {
  6. node_t n = isNode($,ARGV[0]);
  7. node_t nxt;
  8. edge_t e;
  9. double d, totd = 0;
  10. if (n == NULL) {
  11. printf(2, "no node named \"%s\"\n", ARGV[0]);
  12. exit(1);
  13. }
  14. while (n.prev != "") {
  15. nxt = isNode($,n.prev);
  16. /* printf(2, "nxt \"%s\"\n", nxt.name); */
  17. e = isEdge (n, nxt, "");
  18. if (e == NULL) {
  19. printf(2, "no edge between %s and %s\n", n.name, nxt.name);
  20. }
  21. e.color = "blue";
  22. /* printf(2, "len %s\n", e.len); */
  23. /* sscanf (e.len, "%f", &d); */
  24. /* totd += d; */
  25. n = nxt;
  26. }
  27. }