No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Label.java 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package org.insa.graphs.algorithm.shortestpath;
  2. import org.insa.graphs.model.Arc;
  3. import org.insa.graphs.model.Node;
  4. public class Label implements Comparable<Label>{
  5. //quelles valeurs de protection?
  6. protected Node sommet_courant;
  7. //vrai quand cout_min définitivement connu par l'algo
  8. public boolean marque;
  9. //valeur courante du plus court chemin, de l'origine au sommet
  10. protected float cout;
  11. //arc (permettant d'avoir le sommet) précédent sur le plus court chemin courant
  12. protected Arc pere;
  13. //constructeur
  14. public Label(Node sommet,Arc padre, float prix) {
  15. this.sommet_courant=sommet;
  16. this.pere=padre;
  17. this.cout=prix;
  18. this.marque=false;//!\\ pas sûr que ce soit une bonne idée
  19. }
  20. public Label(Node sommet,Arc padre, float prix, boolean mark) {
  21. this.sommet_courant=sommet;
  22. this.pere=padre;
  23. this.cout=prix;
  24. this.marque=mark;
  25. }
  26. //est-ce que cette fonction est utilisée?
  27. public float getCost() {
  28. return this.cout;
  29. }
  30. //fonction utilse pour LabelStar (permet d'hériter de compareTo)
  31. public float getTotalCost() {
  32. return this.cout;
  33. }
  34. //fonction de comparaison
  35. public int compareTo(Label comp) {
  36. float diff= this.getTotalCost()-comp.getTotalCost();
  37. if (diff>0) {
  38. return 1;
  39. }else if (diff<0) {
  40. return -1;
  41. }else {
  42. return 0;
  43. }
  44. }
  45. }