Hi, ich steh grad vor einem kleinen problemchen also:
habe in der main 2 verweise auf folgende Funktionen (befinden sich auch in der angegebenen Klasse)
Tools_Aufgabe_15.bubblesort(array,bewegungen,vergleiche);
Tools_Aufgabe_15.feldausgabe(array,bewegungen,vergleiche);
Zur Info: vorher wurde ein array erstellt. dieses array soll mit bubblesort geordnet werden. Funktioniert auch alles. mein Problem: die Anzahl der benötigten Vergleiche und Bewegungen innerhalb des sortierverfahrens sollen ausgegeben werden. Habe beide variablen folgendermaße am anfang der main deklariert:
int bewegungen = 0;
int vergleiche = 0;
Nunja und hier sind die beiden Funktionen:
Bubblesort:
Ausgabe:
und hier nochmal was raus kommt:[/COLOR]
Feldgröße:
3
Geben Sie den Wert von Index-Nr. 0 ein
1
Geben Sie den Wert von Index-Nr. 1 ein
9
Geben Sie den Wert von Index-Nr. 2 ein
1
Mit welchem Verfahren möchten Sie sortieren ?
1) BubbleSort ; 2) InsertionSort ; 3) SelectionSort
1
1 1 9
0 Bewegungen
0 Vergleiche
mfg
habe in der main 2 verweise auf folgende Funktionen (befinden sich auch in der angegebenen Klasse)
Tools_Aufgabe_15.bubblesort(array,bewegungen,vergleiche);
Tools_Aufgabe_15.feldausgabe(array,bewegungen,vergleiche);
Zur Info: vorher wurde ein array erstellt. dieses array soll mit bubblesort geordnet werden. Funktioniert auch alles. mein Problem: die Anzahl der benötigten Vergleiche und Bewegungen innerhalb des sortierverfahrens sollen ausgegeben werden. Habe beide variablen folgendermaße am anfang der main deklariert:
int bewegungen = 0;
int vergleiche = 0;
Nunja und hier sind die beiden Funktionen:
Bubblesort:
Java:
public static void bubblesort(int[] array,int bewegungen,int vergleiche)
{
int Feldgröße = array.length;
int temp;
for (int index=0; index<Feldgröße-1; index++) //WICHTIG: Feldgröße-1 WEIL: letzte Index hat kein Nachfolger !!!!!
{
vergleiche++;
if (array[index]>array[index+1])
{
bewegungen++;
temp = array[index];
array[index]=array[index+1];
array[index+1]=temp;
}
}
}
Ausgabe:
Java:
public static void feldausgabe(int[] array,int bewegungen,int vergleiche)
{
for (int i=0; i<array.length; i++)
{
System.out.print(array[i]+" ");
}
System.out.println("\n"+bewegungen+" Bewegungen");
System.out.println(vergleiche+" Vergleiche");
}
und hier nochmal was raus kommt:[/COLOR]
Feldgröße:
3
Geben Sie den Wert von Index-Nr. 0 ein
1
Geben Sie den Wert von Index-Nr. 1 ein
9
Geben Sie den Wert von Index-Nr. 2 ein
1
Mit welchem Verfahren möchten Sie sortieren ?
1) BubbleSort ; 2) InsertionSort ; 3) SelectionSort
1
1 1 9
0 Bewegungen
0 Vergleiche
mfg
Zuletzt bearbeitet von einem Moderator: