Problem

3 /7


Sortieren nach Einfügungen

Theory Click to read/hide

Boxen

Boxen(seufzt)Einsatzsort() - der Algorithmus der Sortierung, in der die Komponenten der Eingabesequenz in einer Weise betrachtet werden und jedes neue Eingabeelement in einer geeigneten Position unter den zuvor organisierten Elementen platziert wird.


Boxen ist ein sehr einfacher, aber ineffizienter Algorithmus, der dennoch mehrere spezifische Vorteile hat, die es auch nach der Entwicklung vieler anderer relevant machen, in der Regel effektivere Algorithmen.

Du musst nicht den ganzen Körper haben, bevor du ihn aussortierst. Algorithm kann ein Element beim Sortieren erhalten. Das ist es. Sehr komfortabel, wenn Wir müssen während der Sortierung weitere Elemente hinzufügen. Algorithm wird ein neues Element an der richtigen Stelle ohne &quot platzieren; Wiederholung " die ganze Reihe.

Boxen kann in der Praxis wegen seiner Wirksamkeit für kleine (~ 10 Elemente) Datensätze verwendet werden.

Die Herausforderung ist: Es gibt einen Teil der Masse, die bereits vervierfacht wurde, und die restlichen Teile der Masse sollen unter Beibehaltung der Ordnung in den fragmentierten Teil eingesetzt werden. Dazu wählen wir bei jedem Schritt des Algorithmus eines der Eingabedatenelemente aus und legen es in dem bereits verstreuten Teil des Bereichs an der richtigen Position, bis der gesamte Satz von Eingabedaten abgefragt ist. Die Methode zur Auswahl eines anderen Elements aus der Referenzmasse wird ausgesendet, aber in der Regel (und zum Erhalt eines nachhaltigen Sortieralgorithmus) werden die Elemente auf die Reihenfolge gelegt, in der sie erscheinen.

Algorithmische Implementierung dieses Algorithmus
/ Das Nullelement wird als verzerrte Sequenz betrachtet.
/ Also beginnt der Zyklus mit einem.
CYCLE FÜR I=1 TO N-1
X = A[I]
I
POCK J-Komponente0 UND A[J-1] tieX // nil für Einlage
A[J], A[J-1]
J=J-1
END
A[J]=X
FOLGEN ich
Komplexität:- Ja.

Problem

Es gibt eine Notwendigkeit, eine Abrufkraft über eine Box zu sortieren.

Eingangsdaten
Die erste Linie führt eine natürliche Zahl ein Nhöchstens 1000 ist die Massegröße. In der zweiten ZeileNMeißel ist Elemente der Masse (Zielnummern nicht über das Modul 1000).

Ausgangsdaten
Entfernen Sie die Masse, die erworben wurde.
Beispiel
NeinEingangsdatenAusgangsdaten
15.
Artikel 2
1 2 3 4 5