www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik sortieren


Autor: Bürgo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wikipedia , Artikel  "Sortierverfahren"

Oder mal exemplarische Werte auf kleine Zettelchen schreiben und selbst 
überlegen.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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!

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stdlib.h, qsort.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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/so...

OK. geschummelt. Bucket-Sort funktioniert nur bei bestimmten
Voraussetzungen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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 :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.