Also:
Eingabe: a, b oder c
Eingabe: a, b oder c ( jwtzt ohne den zuvor eingegeben)
Eingabe: a, b oder c ( Der der übrig bleibt)
Nun soll das Programm diese Eingabe sortieren.
Etwa bei "b a c" soll es "a b c" ausgeben. Wie geht dies am einfachsten ?
Alles was ich im Netz über qsort/bubblesort etc. finde ist ellenlang und mir als Afänger unverständlich. Es soll so kurz wie möglich sein.
Bitte um Hilfe
GreeTz Selecta
Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge
Es geht nicht um den Sinn
Aber dann sollte es doch immer auch darum gehen einen möglichst effizienten Code zu produzieren?
3 eigegebene Buchstaben nach dem Alphabet auszugeben
Also beliebige Buchstaben?
Bei so einem Vorgang würde sich eigentlich insert-Sort anbieten - bei 3 Elementen könnte man aber auch ohne Gewissensbisse BubblesortSort (nur 3 Vergleiche + 0-3 Vertauschungen) verwendet werden (Quick-Sort oder andere "aufwendigere" Sortieralgorithmen bringen bei dieser Anzahl noch keinen Vorteil). Da QuickSort allerdings Bestandteil von ANSI C(++) ist, kann man das natürlich besonders bequemsten nutzen...
Andere Möglichkeit (für nur 3 Elemente wie hier):
Der erste Wert wird gespeichert, nach Eingabe des zweiten wird verglichen und beide die beiden sortiert auf Pos 1 und 3 der Liste abgelegt, bim 3. wird dann anschließend geprüft ob es kleiner(/gleich) [1] ist, kleiner(/gleich) [3] ist und dann an der entsprechenden Position eingefügt wobei ggf. eins der beiden vorhanderenen Elemente vorher noch in ein anderes Feld kopier werden muß (2-3 Vergleiche, 0-1 Kopieren, sowie natürlich 3 Einfügen für die jeweiligen Elemente - das schaut auf den ersten Blick am sparsamsten aus)...
Gruß
Borlander
Aber dann sollte es doch immer auch darum gehen einen möglichst effizienten Code zu produzieren?
3 eigegebene Buchstaben nach dem Alphabet auszugeben
Also beliebige Buchstaben?
Bei so einem Vorgang würde sich eigentlich insert-Sort anbieten - bei 3 Elementen könnte man aber auch ohne Gewissensbisse BubblesortSort (nur 3 Vergleiche + 0-3 Vertauschungen) verwendet werden (Quick-Sort oder andere "aufwendigere" Sortieralgorithmen bringen bei dieser Anzahl noch keinen Vorteil). Da QuickSort allerdings Bestandteil von ANSI C(++) ist, kann man das natürlich besonders bequemsten nutzen...
Andere Möglichkeit (für nur 3 Elemente wie hier):
Der erste Wert wird gespeichert, nach Eingabe des zweiten wird verglichen und beide die beiden sortiert auf Pos 1 und 3 der Liste abgelegt, bim 3. wird dann anschließend geprüft ob es kleiner(/gleich) [1] ist, kleiner(/gleich) [3] ist und dann an der entsprechenden Position eingefügt wobei ggf. eins der beiden vorhanderenen Elemente vorher noch in ein anderes Feld kopier werden muß (2-3 Vergleiche, 0-1 Kopieren, sowie natürlich 3 Einfügen für die jeweiligen Elemente - das schaut auf den ersten Blick am sparsamsten aus)...
Gruß
Borlander