Ejemplo n.º 1
0
 /**
  * Noodi ei ole läpikäymättömissä, asetetaan käsittelyssä oleva Noodi tämän edeltäjäksi ja
  * lasketaan matka-arvot, sekä lisätään Noodi läpikäymättömiin
  *
  * @param kaymattomatNoodit
  * @param valittuViereinen
  * @param valittu
  * @param loppuX
  * @param loppuY
  */
 private void asetaKaymatonNoodi(
     AvlPuu kaymattomatNoodit, Noodi valittuViereinen, Noodi valittu, int loppuX, int loppuY) {
   valittuViereinen.setEdellinenNoodi(valittu);
   valittuViereinen.setMatkaJaljella(noodit[loppuX][loppuY]);
   valittuViereinen.setTehtyMatka(valittu);
   kaymattomatNoodit.insert(valittuViereinen);
 }
Ejemplo n.º 2
0
 @Override
 /** Vertailee annettuja Noodeja, palauttaa n1:n ja n2:n erotuksen */
 public int compare(Noodi n1, Noodi n2) {
   return (int) (n1.getMatkaaJaljella() - n2.getMatkaaJaljella());
 }
Ejemplo n.º 3
0
 /**
  * Jos matka käsittelyssä olevan Noodin kautta on lyhyempi kuin Noodiin aiemmin tallennettu matka,
  * aseta käsittelyssä oleva Noodi edeltäjäksi ja päivitä matkaa
  *
  * @param valittuViereinen
  * @param valittu
  */
 private void asetaUusiLyhinMatka(Noodi valittuViereinen, Noodi valittu) {
   if (valittuViereinen.getTehtyMatka() > valittuViereinen.laskeTehtyMatka(valittu)) {
     valittuViereinen.setEdellinenNoodi(valittu);
     valittuViereinen.setTehtyMatka(valittu);
   }
 }