Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static int[] mergeSort(int[] f){
- if(f.length == 1){
- return Arrays.copyOf(f, f.length);
- }
- int mitte = f.length/2;
- int[] f1 = mergeSort(Arrays.copyOfRange(f, 0, mitte));
- int[] f2 = mergeSort(Arrays.copyOfRange(f,mitte,f.length));
- merge(f1,f2);
- }
- private static int[] merge(int[] f1, int[] f2){
- int[] f = new int[f1.length + f2.length];
- int i = 0;
- int j = 0;
- int x = 0;
- while(i < f1.length && j < f2.length){
- f[x++] = (f1[i] < f2[j]) ? f1[i++] : f2[j++];
- //Prüfung
- if(f1[i] < f2[j]){
- f[x] = f1[i];
- ++i;
- } else {
- f[x] = f2[j];
- ++j;
- }
- for(; i < f1.length; ++i){
- f[x++] = f1[i];
- }
- for(; j < f2.length; ++j) f[x++] = f2[j];
- return f;
- }
Advertisement
Add Comment
Please, Sign In to add comment