Sortieralgorithmus - mergeSort - mischen
-
Ich will das mischen des Sortieralgorithmuses von mergeSort schreiben, habe es auch fertig nur gibts manchmal Probleme damit, er kopiert manchmal einen Wert im Array und ich weiß ned warum.
static void merge(int[] src, int[] dest, int lo, int mid, int hi) { /* * zu Mischen ist * src[lo:mid] und src[mid:hi] nach dest[lo:hi] */ int right = mid; int left = lo; for (int i=lo; i<hi; i++) { if (src[left] > src[right]) { dest[i] = src[right]; if ((right+1) < hi) { right++; } else { if((i+1) < hi) { dest[++i] = src[left++]; right = left; } } } else { dest[i] = src[left++]; } if (left == mid) { left = right; } } }
Vielleicht sieht ja jemand den Fehler.