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.