Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void mergesort(int[] arr, int tiefe) {
- String prae = "";
- for (int i = 0; i < tiefe; i++){
- prae += "\t"; }
- System.out.println("Tiefe: "+ tiefe +prae + Arrays.toString(arr));
- if(arr.length == 0 || arr.length == 1) {return;}
- int half = arr.length/2;
- int[] left_arr = new int[half], right_arr= new int[arr.length-half];
- /* fuelle left_arr und rigth_arr */
- for(int i=0;i<arr.length;i++) {
- if(i<half) {
- left_arr[i]=arr[i];}
- else { right_arr[i-half]=arr[i];}
- }
- mergesort(left_arr,++tiefe);
- mergesort(right_arr,tiefe--);
- /* fuege (sortierte Arrays left_arr und right_arr in arr zusammen */
- for(int i=0, j=0, k=0; i<arr.length; i++) {
- arr[i]=(j==left_arr.length)? right_arr[k++]:
- (k==right_arr.length) ? left_arr[j++]:
- (left_arr[j]<right_arr[k])? left_arr[j++]:
- right_arr[k++];
- }
- System.out.println("Tiefe: "+ tiefe + prae + Arrays.toString(arr));
- }
- public static void main(String[] args) {
- int[] arr = new int[] {1,33,4,15,-2,52,249,24,25};
- System.out.println("Array vor der Sortierung: " +Arrays.toString(arr)+'\n');
- mergesort(arr,0);
- System.out.println("\nArray nach der Sortierung: " +Arrays.toString(arr));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement