Hilfe bei Sortierungsverfahren

Gast #897073
Tag an alle,
ich muss für mein Projekt 8 8Bit-Zahlen der Größe nach sortieren. Dafür 
suche ich ein möglichst effizientes Verfahren.
Bisher habe ich
- Bubbelsort (sehr langsgam)
- Quicksort
gefunden.

Kennt noch jemand ein besseres Verfahren?
Vielen Dank schon mal im Voraus,
MC
Gast
> ein besseres Verfahren?

Die Frage is hier, was genau du unter besser verstehst. Es gibt 
unzählige verschiedene Sortieralgorithmen. Was muss bei dir besonders 
effizient sein? Laufzeit, Codegröße, Ram verbrauch?
Und gibt es evtl. irgendwelche Besonderheiten/zusätzlichen Informationen 
über die zu sortierenden Zahlen? Das hilft auch oft bei der Auswahl des 
Verfahrens.
Gast
Bei nur 8 Werten braucht man keine Komplexitätsbetrachtungen
anzustellen. Ich schätze, dass so etwas mit am besten abschneiden
wird, aber sicher bin ich mir nicht (Probieren macht schlau :)):

  http://de.wikipedia.org/wiki/Selectionsort

Aber bitte nicht das angegebene Beispiel in C abtippen (unnötig
kompliziert), sondern das C#-Beispiel umschreiben (viel ist da nicht
zu tun).
Gast
Vielen Dank für eure Antworten!
ich werde mir die Links heute abend mal zu Gemüte führen.

>> ein besseres Verfahren?
>Die Frage is hier, was genau du unter besser verstehst.
>Was muss bei dir besonders effizient sein? Laufzeit, Codegröße, Ram >verbrauch?
>Und gibt es evtl. irgendwelche Besonderheiten/zusätzlichen Informationen
>über die zu sortierenden Zahlen? Das hilft auch oft bei der Auswahl des
>Verfahrens.

Ich muss lediglich 8 8Bit Zahlen (genauer gesagt können nur Werte von 0 
bis 64 auftreteten) der Größe nach sortieren. Ob auf- oder Absteigend 
ist dabei relativ uninteressant, da ich ja oben bzw. unten in meiner 
sortierten Liste anfangen kann zu lesen.
Gast
>Was muss bei dir besonders effizient sein? Laufzeit, Codegröße, Ram >verbrauch?
hab ich ganz vergessen: je schneller die Sortierung abläuft, desto 
besser. Ist zwar noch nicht zeitkritisch, aber ich habe noch andere 
Routinen, die ich nicht unnötig ausbremsen möchte.
RAM und Flash für den Code ist genügend vorhanden.
Gast
Danke noch mal für eure Links!
Ich nehme jetzt doch Bubble-Sort, da es i µC am einfachsten umzusetzen 
ist.
Außerdem sind es ja eh nur 8 Werte.

mein Test-Code für den 8051 ist im Anhang.
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.