Menu
Coddy logo textTech

Implementation (Part 2)

Lektion 6 von 9 im Kurs Insertion Sort - DSA-Serie von Coddy.

Szenario: Sortieren von [5, 2, 9, 1, 5]

Schritt 1: Ausgangszustand

  • Ursprüngliches Array: [5, 2, 9, 1, 5]
  • Stellen Sie sich dies als unser Blatt Karten (oder ein Array von Zahlen) vor.

Schritt 2: Erstes Element (i=1, key=2)

  • Wir beginnen mit der zweiten Karte (Element): key = 2.
  • Vergleichen Sie 2 mit 5 (dem bisher einzigen sortierten Element).
  • Da 2 kleiner ist, verschieben wir 5 nach rechts und fügen 2 an seiner Stelle ein.
  • Aktualisiertes Array: [2, 5, 9, 1, 5]

Schritt 3: Zweites Element (i=2, key=9)

  • Gehen Sie zur nächsten Karte über: key = 9.
  • Vergleichen Sie 9 mit 5.
  • Da 9 größer ist, ist kein Verschieben erforderlich.
  • Aktualisiertes Array: [2, 5, 9, 1, 5] (keine Änderung)

Schritt 4: Drittes Element (i=3, key=1)

  • Gehen Sie zur nächsten Karte über: key = 1.
  • Vergleichen Sie 1 mit 9, dann mit 5.
  • Verschieben Sie 9 und 5 nach rechts, um Platz für 1 zu schaffen.
  • Aktualisiertes Array: [1, 2, 5, 9, 5]

Schritt 5: Viertes Element (i=4, key=5)

  • Gehen Sie zur nächsten Karte über: key = 5.
  • Vergleichen Sie 5 mit 9.
  • Da 5 kleiner ist, ist kein Verschieben erforderlich.
  • Aktualisiertes Array: [1, 2, 5, 9, 5] (keine Änderung)

Schritt 6: Fünftes Element (i=5, key=5)

  • Gehen Sie zur letzten Karte über: key = 5.
  • Vergleichen Sie 5 mit 9.
  • Da 5 kleiner ist, ist kein Verschieben erforderlich.
  • Aktualisiertes Array: [1, 2, 5, 5, 9]

Endergebnis:

  • Sortiertes Array: [1, 2, 5, 5, 9]

In jedem Schritt wählen wir eine Karte (Element) aus, vergleichen sie mit den sortierten Karten und platzieren sie an der richtigen Stelle, wobei wir andere bei Bedarf verschieben. Wir wiederholen diesen Vorgang, bis das gesamte Array sortiert ist.

challenge icon

Aufgabe

Einfach

Implementiere nun die innere Schleife, die die Sortierung für jedes Element durchführt.

 

Vervollständige die Sortierung innerhalb der Funktion insertionSort.

Die Funktion sollte am Ende auch die Elemente des Arrays einzeln ausgeben, jeweils getrennt durch eine neue Zeile.

Nutze die vorherigen Lektionen und den Hinweis als Referenz :)

Probier es selbst

def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        print(key)

Alle Lektionen in Insertion Sort - DSA-Serie