Sven Rautenberg: Sortieralgorithmus für Zahlen

Beitrag lesen

Moin!

function Numsort (a, b) {
  return a - b;
}
array.sort(Numsort);


>   
> Mir ist zwar schleierhaft wie genau die Parameter übergeben werden, aber es funktioniert.  
  
Die Methode sort() erwartet eine Referenz auf eine Funktion.  
  
Diese Funktion wiederum muss zwei Werte als Parameter entgegennehmen (im Beispiel a und b genannt - die Namen sind frei wählbar), und als Rückgabewert muss ein Wert geliefert werden, der  
- kleiner 0 ist, wenn der erste Parameter kleiner als der zweite Parameter ist  
- gleich 0 ist, wenn die beiden Parameter identisch sind  
- größer 0 ist, wenn der erste Parameter größer als der zweite Parameter ist.  
  
"Größer" bezieht sich hierbei auf die vorzunehmende Sortierung, wobei das Sortierergebnis alle Werte von "klein" nach "groß" fortlaufend ins Array einsortiert.  
  
Das Sortieren nach Zahlenwert ist dabei relativ simpel, man kann die Vergleichsfunktion auch komplizierter machen, wenn die im Array gespeicherten Datenstrukturen komplexer sind.  
  
 - Sven Rautenberg