Ich habe diese Anordnung:
int [] myarray = {17, 6, 8};
Wie lässt sich dieses Array am besten sortieren (in Pseudocode)?
Danke!
Ich habe diese Anordnung:
int [] myarray = {17, 6, 8};
Wie lässt sich dieses Array am besten sortieren (in Pseudocode)?
Danke!
Dieser Code macht im schlimmsten Fall 2 oder 3 Vergleiche und 4 Speichereinträge, im Gegensatz zu einer anderen Antwort (immer 3 Vergleiche und 9 Speichereinträge im schlimmsten Fall).
if a[0] < a[1]:
if a[1] > a[2]:
if a[0] < a[2]:
temp = a[1]
a[1] = a[2]
a[2] = temp
else:
temp = a[0]
a[0] = a[2]
a[2] = a[1]
a[1] = temp
else:
# do nothing
else:
if a[1] < a[2]:
if a[0] < a[2]:
temp = a[0]
a[0] = a[1]
a[1] = temp
else:
temp = a[0]
a[0] = a[1]
a[1] = a[2]
a[2] = temp
else:
temp = a[0]
a[0] = a[2]
a[2] = temp
Dafür gebe ich dir +1, adamax. Auch wenn es potthässlich zu lesen ist, die Frage hat fragen Sie nach dem Optimum und Ihre scheint das zu erfüllen :-)
@ionree Sicher, ich habe den Code korrigiert. Wenn Sie einen Blick auf der ursprüngliche Code Sie werden sehen, dass der Ausführungspfad dazu führt, dass zwei Elemente vertauscht werden, während jedes Element verschoben werden muss.
Mai diese Grafik Die Darstellung eines Entscheidungsbaums für die Sortierung von drei Elementen ist hilfreich:
Dies ist aus "Grundlegende Algorithmen" ( www14.in.tum.de/~ga ) von Volker Heun -- leider nur auf Deutsch. Eine sehr ähnliche Abbildung findet sich in "Introduction to Algorithms" von Cormen et al.( mitpress.mit.edu/books/einfuehrung-algorithmen ).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
sorted(a)
mit meinem Pseudosorted
Funktion, die an Ort und Stelle sortiert :)0 Stimmen
Viele Duplikate, z.B. stackoverflow.com/questions/3319993/
6 Stimmen
Einfach:
int [] myarray = {6, 8, 17};
:)