Werte im array sortieren

hallo,
ich habe die vorgabe, dass ein zufälliges array generiert wird und ich soll es jetzt sortieren. dabei soll das programm von letzen index an das maximum suchen und es ans ende des arrays setzen, dann begnnt die prozedur von vorne, max suchen und es vor die letzte max zahl setzen usw. mein code funzt irgendwie nicht so wie ich es will. vielleicht könnt hr mir sagen was dran falsch ist. hier der ausschnitt zum sortieren:

int tausch = 0; //variable zum tauschen
int max = 0; //maximalwert

for (int i = a.length; i > 1; i–) { //das array von hinten durchgehen

for (int j = 0; j

Auch hallo.

ich habe die vorgabe, dass ein zufälliges array generiert wird
und ich soll es jetzt sortieren. dabei soll das programm von
letzen index an das maximum suchen und es ans ende des arrays
setzen, dann begnnt die prozedur von vorne, max suchen und es
vor die letzte max zahl setzen usw. mein code funzt irgendwie
nicht so wie ich es will. vielleicht könnt hr mir sagen was
dran falsch ist. hier der ausschnitt zum sortieren:

Der Algorithmus nennt sich „Bubble Sort“. Mithilfe der bösen Suchmaschine @ „Bubble sort“ +java lässt sich schon einiges dazu entdecken. U.a. der Sortieralgorithmus :wink:

HTH
mfg M.L.

hallo,

Hi,

ich habe die vorgabe, dass ein zufälliges array generiert wird
und ich soll es jetzt sortieren. dabei soll das programm von
letzen index an das maximum suchen und es ans ende des arrays
setzen, dann begnnt die prozedur von vorne, max suchen und es
vor die letzte max zahl setzen usw. mein code funzt irgendwie
nicht so wie ich es will. vielleicht könnt hr mir sagen was
dran falsch ist. hier der ausschnitt zum sortieren:

int tausch = 0; //variable zum
tauschen
int max = 0; //maximalwert

for (int i = a.length; i > 1; i–) { //das array von
hinten durchgehen

for (int j = 0; j

int tausch;

for (int i = a.length; i >= 0; i–) {
for (int j = 0; j a[i]) {
tausch = a[i];
a[i] = a[j];
a[j] = tausch;
}
}
}

Hier wird ordentlich getauscht.
Folgendes Beispiel tauscht maximal [Größe des Arrays - 1]-mal.

int tausch;
int max;

for (int i = a.length; i \>= 0; i--) {
 max=i;
 for (int j = 0; j a[max]) { 
 max=j; 
 } 
 }
 tausch = a(max);
 a(max) = a(i);
 a(i) = tausch;
}

Gruß.Timo

danke für eure hilfe, vader


Hi,
ich würde hier eher auf SelectionSort tippen http://de.wikipedia.org/wiki/SelectionSort

Gruß.Timo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

int tausch = 0; //variable zum
tauschen
int max = 0; //maximalwert

for (int i = a.length; i > 1; i–) { //das array von
hinten durchgehen

for (int j = 0; j