# MergeSort



## Andrags (8. Jun 2011)

Hallo,

wir haben die Aufgabe, eine MergeSort mit einer Vorgegebene Signatur zu implementieren, aber ich sehe mittlerweile den Wald vor Bäumen nicht mehr :/ Vielleicht kann mir jemand weiterhelfen. Wir müssen einen Comparator übergeben sowie ein Array das mit Integern oder Strings gefüllt ist.
Wäre sehr dankbar wenn jemand man draufschauen mag:


```
@SuppressWarnings("unchecked")
	private static <T> T[] mergeRekursion(T[] a, Comparator<T> c)
	{
		if(a.length == 1)
		{
			return a;
		}
		else
		{
		{
			x[i] = a[i];
		}
		int count = 0;
		for(int j = mid + overflow; j < a.length - 1; j++)
		{
			y[count] = a[j];
			count++;
		}
		{
		     if(w.length == u.length)
		     {
		    	 if(c.compare(element, u[counter]) >= 0)
		    	 {
		    		 newArray[counter2] = element;
		    		 newArray[counter2 + 1] = u[counter];
		    	 }
		    	 else
		    	 {
		    		 newArray[counter2] = u[counter];
		    		 newArray[counter2 + 1] = element;
		    	 }
		    	 counter2 = counter2 + 2;
	    		 counter++;
		     
		}
		}
		return newArray;
		}
	}
```


----------



## Final_Striker (8. Jun 2011)

Am besten alles ab der Zeile 


```
T[] newArray = (T[]) new Object[w.length + u.length -2];
```

löschen und neu versuchen. ;-)

Außerdem, die -2 ist falsch.


----------



## Andrags (8. Jun 2011)

Also ist der Ansatz davor schon richtig?


----------



## Final_Striker (8. Jun 2011)

Bis zu der Zeile schon.


----------



## Andrags (9. Jun 2011)

[Wo löscht man den hier? ^^]


----------



## Landei (9. Jun 2011)

Die Klammerung ist ja graunhaft, wozu die unnötigen und verwirrenden Blöcke?


----------



## Andrags (9. Jun 2011)

Hey, 

Ich hab die Lösung fertig, und will nicht das mein Tutor meine eigene Lösung als Plagiat findet, daher hab ich n paar teile Rausgelöscht. Sobald ich die Bewertung habe poste ich die Lösung nochmal


----------

