Sortieren

Aus ProgrammingWiki
< EGE

Inhaltsverzeichnis

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 vom i-ten element an rueckwaerts... bis das gemerkte schon kleinste ist liste ...jedes um eins vorruecken j-="1" gemerktes der stelle einfuegen><h2 id="Sortieren_durch_Auswählen_(Minimumsuche)">Sortieren durch Auswählen (Minimumsuche)</h2><pre> 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]&lt; 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</pre><h2 id="Sortieren_durch_Austauschen_(Bubblesort)">Sortieren durch Austauschen (Bubblesort)</h2><pre> def bubbleSort(liste):
   for i in range(0, len(liste) - 1):
       for j in range(0, len(liste) - i - 1):
           if liste[j] &gt; liste[j + 1]:
               hilf = liste[j]
               liste[j] = liste[j+1]
               liste[j+1] = hilf</pre><h2 id="Quicksort">Quicksort</h2><pre>  def quick(liste):
    if liste==[]:
       return []
    else:
       grenze = liste[0]
       li1=[]
       li2=[]
       for i in range(1,len(liste)):
          if liste[i]<grenze: li1.append else: li2.append return quick></grenze:></pre></liste>