Java-Programm
Aus ProgrammingWiki
Archivierte Version vom 2010-05-11T09:25:42+00:00. Aktuelle Version
/* Wichtig: in der Form {A,B,C,D,E,F,G}*/
int []StadtA ={0,4,9,10000,10,6,10000};
int []StadtB ={4,0,3,10000,10000,10000,5};
int []StadtC ={9,3,0,8,10000,10000,6};
int []StadtD ={10000,10000,8,0,3,9,3};
int []StadtE ={10,10000,10000,3,10000,10000,0};
int []StadtF ={6,10000,10000,9,10000,0,7};
int []StadtG ={10000,5,6,3,10000,7,0};
int []auswahl =new int[7]; int tempPfad =0;
int lauf =1;
int zähler =0;
int set =1;
int k =0;
int letztesElement =0;
int tempElement =0;
int neuerWert =0;
int []letzteStadt =new int [20];
ArrayList<integer> Pfad=new ArrayList();
Pfad.add(0);
/*beginn der Prozedur*/</integer>while(lauf==1){
switch(zähler){
case 0:for(int i=1;i<auswahl.length auswahl case i="1;i<auswahl.length;i++){"><pre> //Greedy_Algorithmus</pre><p>//==============================================================================</p><pre> for(int i=0;i<auswahl.length ob die jeweilige stadt breits besucht wurde einmal pro for j="0;" if set="0;" des pfades in temppfad sollte obige bedingung erf sein>=auswahl[i] && auswahl[i]!=0 || tempPfad==0){
if(set==1){
tempPfad=auswahl[i];
zähler=i;
}
}
//zurücksetzten der Variable set für den nächsten Durchlauf
set=1;
}</auswahl.length></pre><pre> //hinzufügen der besuchten Stadt
//=============================================================================
//benötigt man zur Pfadmodifizierung
letztesElement=letztesElement+tempPfad;
Pfad.add(letztesElement);
//Pfad wir, falls nötig, modifiziert um die kürzeste Strecke zu suchen
for(int i=1; i<pfad.size if k>=1 && auswahl[letzteStadt[i]]!=0){
neuerWert=Pfad.get(i)+auswahl[letzteStadt[i]];
for(int j=i;j<=Pfad.size();j++){
Pfad.remove(Pfad.size()-1);
}
Pfad.add(neuerWert);
Pfad.add(neuerWert+tempPfad);
}
}
letzteStadt[k+1]=zähler;
tempElement=tempElement+tempPfad;
k++;
//System.out.println("auswahl :"+tempElement);
tempPfad=0;
</pfad.size></pre><p>//Prüfung ob Stadt breits erreicht wurde
//==============================================================================</p><pre> for(int i=0;i<letztestadt.length if system.out.println lauf="0;"><pre> }</pre></letztestadt.length></pre></auswahl.length>