Sortieren
Aus ProgrammingWiki
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]< 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] > 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>