Funktion Sortiert ausgeben
-
Hi
muss eine fu. schreiben mit der ein Array aus Zahlen sortiert ausgegeben wird ohne das array zu sortieren. Kann mir bitte jemand die Funktion schreiben?
mfg. Luki
-
Das wird wohl nicht gehen. Jedenfalls nicht ohne das Array zu kopieren, und das wäre irgendwie sinnlos. (Jedenfalls ändert das ja nichts an der sort Funktion.)
-
cooky451 schrieb:
Das wird wohl nicht gehen. Jedenfalls nicht ohne das Array zu kopieren, und das wäre irgendwie sinnlos. (Jedenfalls ändert das ja nichts an der sort Funktion.)
Man muss für jedes element das gesamte array 1mal durchlaufen und den kleinsten wert finden der noch nicht ausgegeben wurde.
-
Dann schreib doch mal die Funktion und zieg sie, dass der kackb00n cooky endlich mal was lernt
-
Tim schrieb:
Dann schreib doch mal die Funktion und zieg sie, dass der kackb00n cooky endlich mal was lernt
Das ist ja gerade das Problem...
-
Luki_30 schrieb:
Man muss für jedes element das gesamte array 1mal durchlaufen und den kleinsten wert finden der noch nicht ausgegeben wurde.
Und man muss sich seine Position merken, oder merken wie viele Zahlen schon übersprungen wurden, sonst gibt das nämlich Probleme wenn Zahlen öfter vorkommen. Wie auch immer du das machst, das dürfte dann so in etwa die Performance von Bubblesort erreichen.
-
Luki_30 schrieb:
Tim schrieb:
Dann schreib doch mal die Funktion und zieg sie, dass der kackb00n cooky endlich mal was lernt
Das ist ja gerade das Problem...
Den kleinsten Wert überhaupt auszugeben sollte ja wohl kein Problem sein. Dann merkst du dir den zuletzt ausgegebenen Wert und suchst als nächstes den kleinsten Wert aus dem Feld, der aber größer ist als der zuletzt ausgegebene Wert.
Das geht natürlich nur so lange gut, wie Werte nicht doppelt vorkommen. Wenn man diesen Fall auch noch behandeln möchte, dann merkt man sich am besten auch noch die Position des Wertes und hat dann diese noch als sekundäres Vergleichskriterium.
Versuch aber lieber zuerst einmal den einfachen Fall.
edit: Da war der kackb00n schneller als ich
.