Mahlzeit Profis, suche Hilfe bei euch um mich in C weiterzubilden. Möchte gerne in möglichst wenig Schritten fünf int Werte nach größe sortieren. Wie stellt man das Controller freundlich an? Danke für ale Infos und Antworten. MfG Bürgo
mal schnell hingeschrieben: for (i=1;i<5;i++) { if (i<i-1) tausche(i,i-1); } void tausche(unsigned int a, unsigned int b) { unsigned int c; c = a; a = b; b = c: } nicht getestet; MW
Wikipedia , Artikel "Sortierverfahren" Oder mal exemplarische Werte auf kleine Zettelchen schreiben und selbst überlegen.
> mal schnell hingeschrieben: [...] > nicht getestet Brauchst Du nicht, ich zähle in diesen paar Zeilen ein halbes Dutzend Fehler. Und das schlimme dabei: Bis auf einen Vertipper sind es ausschließlich logische Fehler!
Hi @Michael Wilhelm Du solltest dir diesen Sortieralgorithmus patentieren lassen. Denn es ist der einzige mir bekannte der immer in O(n) sortiert :-) SCNR Matthias
> Du solltest dir diesen Sortieralgorithmus patentieren lassen. Denn es > ist der einzige mir bekannte der immer in O(n) sortiert :-) Dann kennst du Bucket-Sort noch nicht :-) http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/bucket.htm OK. geschummelt. Bucket-Sort funktioniert nur bei bestimmten Voraussetzungen.
> Brauchst Du nicht, ich zähle in diesen paar Zeilen ein halbes Dutzend > Fehler. Und das schlimme dabei: Bis auf einen Vertipper sind es > ausschließlich logische Fehler! Und das Tollste. Ein guter optimizing Compiler würde alles ratzeputz wegoptimieren und durch i = 5; ersetzen. Am besten finde ich if (i<i-1) Wenn hat man schon eine Zahl die kleiner als dieselbe Zahl um 1 vermindert ist :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.