vielleicht hast du den falschen pseudocode erwischt.
Schau dir am besten mal den wikipedia eintrag an: https://de.wikipedia.org/wiki/Mergesort
[code]
funktion mergesort(liste);
falls (Größe von liste <= 1) dann antworte liste
sonst
halbiere die liste in linkeListe, rechteListe
linkeListe = mergesort(linkeListe)
rechteListe = mergesort(rechteListe)
antworte merge(linkeListe, rechteListe)
funktion merge(linkeListe, rechteListe);
neueListe
solange (linkeListe und rechteListe nicht leer)
| falls (erstes Element der linkeListe <= erstes Element der rechteListe)
| dann füge erstes Element linkeListe in die neueListe hinten ein und entferne es aus linkeListe
| sonst füge erstes Element rechteListe in die neueListe hinten ein und entferne es aus rechteListe
solange_ende
solange (linkeListe nicht leer)
| füge erstes Element linkeListe in die neueListe hinten ein und entferne es aus linkeListe
solange_ende
solange (rechteListe nicht leer)
| füge erstes Element rechteListe in die neueListe hinten ein und entferne es aus rechteListe
solange_ende
antworte neueListe
[/code]