Ich versuche diese Sortierung von hoch nach niedrig zu schreiben und bin mir nicht sicher, wie das geht. Ich bin ziemlich neu beim Sortieren von Algorithmen.Wie man die Sortierung umkehrt sortiere
public void selectionSort(String[ ] data){
// for each position, from 0 up, find the next smallest item
// and swap it into place
for (int place=0; place<data.length-1; place++){
int minIndex = place;
for (int sweep=place+1; sweep<data.length; sweep++){
if (data[sweep].compareTo(data[minIndex]) < 0)
minIndex=sweep;
}
swap(data, place, minIndex);
}
}
Der Grund, warum ich versuche, es zu ändern, dass die Auswahl hier Art läuft durch den verbleibenden Teil des Feldes, für den Minimalwert suchen und dann tauscht sie die front.I ändern wollen der Algorithmus so, dass er auch im verbleibenden Teil nach dem Maximalwert sucht und ihn nach hinten tauscht, so dass er gleichzeitig eine sortierte Liste von Vorder- und Rückseite aufbaut.
Alle Hilfe geschätzt :)
was meinst du? absteigende Reihenfolge? –
@SleimanJneidi ja, absteigend –
Ich glaube nur ändern - 'if (Daten [Sweep] .CompareTo (Daten [minIndex])> 0)' –