Hagi: Zahlen eines Arrays der Größe nach sortieren!

Hi!
Hab ein kleines Problem! Bin noch Anfänger und ich möchte die 3 kleinsten Elemente eines Arrays finden!
Die kleinste Zahl zu finden hab ich folgendermaßen gelöst:

kleinste = zahl[0];
for(var i=1; i < zahl.length; i++)
   {
   kleinste = Math.min(zahl[i], kleinste);
   }

Wie mach ich das jetzt am besten wenn ich auch die zweit- und drittkleinste Zahl finden möchte??

Danke!
Lg Daniel

  1. Hallo Hagi!

    [...] ich möchte die 3 kleinsten Elemente eines Arrays finden!

    Dann sortier erstmal alle Elemente des Arrays der Größe nach, und gib dann die 3 ertsne bzw. letzten Elemente aus (je nachdem, wie sortiert wurde).
    (Lesetip: http://selfhtml.teamone.de/javascript/objekte/array.htm#sort)

    Alternativ kannst Du auch einfach 3 mal nacheinander das Minimum suchen, es aus dem Array entfernen, und wieder nach dem Minimum suchen. Dieser Ansatz ist aber nicht unbedingt sinnvoller.

    MfG
    Götz

    --
    Losung und Lehrtext für Dienstag, 24. Februar 2004
    Fürchtet den Herrn und dient ihm treu von ganzem Herzen; denn seht doch, wie große Dinge er an euch getan hat. (1.Samuel 12,24)
    Jesus sprach zu dem Geheilten: Geh hin in dein Haus zu den Deinen und verkünde ihnen, welch große Wohltat dir der Herr getan und wie er sich deiner erbarmt hat. (Markus 5,19)
    (http://www.losungen.de/heute.php3)
    1. Hallo,

      Alternativ kannst Du auch einfach 3 mal nacheinander das Minimum suchen, es aus dem Array entfernen, und wieder nach dem Minimum suchen. Dieser Ansatz ist aber nicht unbedingt sinnvoller.

      Ja nach Größe des Arrays kann er schon Sinn machen. Wenn du drei mal durch dein Array durchläufst, dann hast du weniger Aufwand, als wenn du das komplette Array sortierst.
      Bei wenig Einträgen wird sich das sicherlich nicht bemerkbar machen, aber irgendwo gibt es bestimmt eine Grenze, ab der es Sinn macht auf das komplette Sortieren zu verzichten.

      Viele Grüße,

      Stefan