EGE/Sortieren

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

== Sortieren durch Einfügen ==
  def insertionSort(liste):
    for i in range(1, len(liste)):        # Fängt bei 1. (nicht 0.) Element an
        merke = liste[i]                  # merkt sich den Eintrag
        j=i
        while (j>0 and merke<liste[j-1]): #  vom i-ten Element an rueckwaerts... [2: bis das gemerkte Element schon das Kleinste ist]
            liste[j] = liste[j-1]         # ...jedes Element um eins vorruecken
            j-=1                          # bis [2]
        liste[j]=merke                    # gemerktes Element an der Stelle einfuegen

== Sortieren durch Auswählen (Minimumsuche) ==
  def selectionSort(liste):
    for i in range(0, len(liste)-1):
        mini=i                           # Minimum-Stelle erst mal auf das 0. Element (später 1., 2. ...) festlegen
        for j in range(i+1, len(liste)): # Nachfolgende Einträge der Liste durchsuchen
            if (liste[j]< liste[mini]):  # falls das aktuelle Element größer als das bisherige Minimum ist, ...
                mini=j                   # ... wird die Minimum-Stelle überschrieben
        # Tausch der Listeneinträge:
        hilf=liste[mini]
        liste[mini]=liste[i]
        liste[i]=hilf

== Sortieren durch Austauschen (Bubblesort) ==
  def bubbleSort(liste):
    for i in range(0, len(liste) - 1):
        for j in range(0, len(liste) - i - 1):
            if liste[j] > liste[j + 1]:
                hilf = liste[j]
                liste[j] = liste[j+1]
                liste[j+1] = hilf