# MergeSort iterativ und rekursiv?



## super_junior (10. Feb 2011)

Hallo liebes Forum!

ich weiß leider überhaupt nicht wie ich eine zahlenfolge iterativ und rekursiv mithilfe von MergeSort sortieren soll.
Ich habe z. B diese Zahlenfolge: 8, 4, 5, 6, 3, 2, 1, 9

muss ich mir jetzt jede Zahl einzeln betrachten?

und was ist der unterschied zwischen iterativ und rekursiv??

vielen Dank


----------



## HoaX (10. Feb 2011)

Wenn es schon an iterativ und rekursiv scheitert, dann solltest du das mal bei google eingaben, da gibt es Millionen Seiten dazu. Ansonsten stelle eine konkrete Frage...

Rekursion ? Wikipedia
Iteration ? Wikipedia


----------



## despkiyxd (10. Feb 2011)

rekursiven mergesort hatte ne freundin letztes jahr in ihrem studium ...
hab die files *weil ich selbst mal kuggn wollte wie sowas funzt* noch @ home aufm rechner chillen ...
werd ich mal die tage *so 2 - 3* hier posten


----------



## VfL_Freak (11. Feb 2011)

Moin,



despkiyxd hat gesagt.:


> rekursiven mergesort hatte ne freundin letztes jahr in ihrem studium ...
> hab die files *weil ich selbst mal kuggn wollte wie sowas funzt* noch @ home aufm rechner chillen ...
> werd ich mal die tage *so 2 - 3* hier posten



Häää  
Kannst Du das noch mal auf *Deutsch* schreiben ???:L

Danke und Gruß
Klaus


----------



## SlaterB (11. Feb 2011)

der Text ist doch komplett verständlich (Code vorhanden, wird in 2-3 Tagen evtl. gepostet)


----------



## VfL_Freak (11. Feb 2011)

Moin,


SlaterB hat gesagt.:


> der Text ist doch komplett verständlich (Code vorhanden, wird in 2-3 Tagen evtl. gepostet)



na ja ..... :bahnhof: 

Offen gestanden mag ich diese "Slangsprachen" (und manchmal auch Schreibweisen) in Foren nicht besonders, da sie beim Leser leicht zu Mißverständnissen/Fehlinterpretationen führen - deswegen meine leicht ironische Antwort ... 
Ich finde, nur wer vernünftig/verständlich fragt, kann auch eine ebensolche Antwort erhalten !

Aber vielleicht bin ich auch zu alt dafür .... 

Gruß
Klaus


----------



## Haave (11. Feb 2011)

VfL_Freak hat gesagt.:


> Aber vielleicht bin ich auch zu alt dafür ....


Keine Sorge, ich bin knapp über 20 und find es auch albern. Ich war wohl schon immer zu alt dafür 

Der Text hat so Tendenzen zu dem hier: Klick


----------



## Empire Phoenix (11. Feb 2011)

Naja solange ihr net zum forum thread troll hijack zu alt seid.

Iterativ:
Mergesort iterativ
Rekursiv:
Kurs:Algorithmen und Datenstrukturen/Kapitel 2/MergeSort/Java ? Wikiversity

Ich empfehle für sowas übrigens google.


----------



## Landei (11. Feb 2011)

Rekursiv ist eine Fingerübung:


```
private static void sort(int[] array) {
        int len = array.length;
        if (len < 2) return;
        int[] left = new int[len/2];
        System.arraycopy(array, 0, left, 0, left.length);
        int[] right = new int[len - len/2];
        System.arraycopy(array, len/2, right, 0, right.length);
        sort(left);
        sort(right);
        int li = 0;
        int ri = 0;
        for(int i = 0; i < len; i++) {
            if(li == left.length) {
                array[i] = right[ri++];
            } else if (ri == right.length || left[li] <= right[ri]) {
                array[i] = left[li++];
            } else {
                array[i] = right[ri++];
            }
        }
    }
```

OK, könnte man noch in-place machen...


----------

