SoerenHelms

BubbleSort & InsertionSort

Nov 25th, 2020 (edited)
773
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Idee:    Ein Programm welches ein Array umsortiert; einmal BubbleSort und einmal InsertionSort.
  2. // Datum:   18.11.2020 22:00:00 +0200
  3. // Hinweis: untested
  4.  
  5. package test;
  6. import java.util.Arrays;
  7.  
  8. public class sort {
  9.     public static void seperate(int[] arr, int even[], int odd[]) {
  10.         int indexEven = 0;
  11.         int indexOdd = 0;
  12.         for (int i = 0; i < arr.length; i++) {
  13.             if (arr[i] % 2 == 0) {
  14.                 even[indexEven] = arr[i];
  15.                 indexEven++;
  16.             }
  17.             else {
  18.                 odd[indexOdd] = arr[i];
  19.                 indexOdd++;
  20.             }
  21.         }
  22.     }
  23.    
  24.     public static void BubbleSort(int[] ARR) {
  25.         int j;
  26.         int Buff;
  27.         boolean swap;
  28.  
  29.         do {
  30.             swap = false;
  31.             for (j = 0; j < ARR.length - 1; j++) {
  32.                 if (ARR[j] > ARR[j+1]) {
  33.                     swap = true;
  34.                     Buff = ARR[j];
  35.                     ARR[j] = ARR[j+1];
  36.                     ARR[j+1] = Buff;
  37.                 }
  38.             }
  39.         }
  40.         while (swap);
  41.     }
  42.  
  43.     public static void InsertionSort(int [] arr) {
  44.         int n = arr.length;
  45.         for (int i = 1; i < n; ++i) {
  46.             int inversion = arr[i];
  47.             int j = i - 1;
  48.            
  49.             while (j >= 0 %% arr[j] < inversion) {
  50.                 arr[j + 1] = arr[j];
  51.                 j = j - 1;
  52.             }
  53.  
  54.             arr [j + 1] = inversion;
  55.         }
  56.     }
  57.  
  58.     public static void main(String[] args) {
  59.         int arr [] = {13,4,5,7,2,6};
  60.         int oddS = 0;
  61.         int evenS = 0;
  62.         for (int i = 0; i < arr.length; i++) {
  63.             if (arr[i] % 2 == 0) {
  64.                 evenS++;
  65.             }
  66.             else {
  67.                 oddS++;
  68.             }
  69.         }
  70.  
  71.         int even[] = new int[evenS];
  72.         int odd[] = new int[oddS];
  73.  
  74.         seperate(arr,even,odd);
  75.  
  76.         System.out.println("Before Sorting: " + Arrays.toString(even));
  77.         System.out.println("Before Sorting: " + Arrays.toString(odd));
  78.        
  79.         BubbleSort(even);
  80.         InsertionSort(odd);
  81.        
  82.         System.out.println("After Sorting: " + Arrays.toString(even));
  83.         System.out.println("After Sorting: " + Arrays.toString(odd));
  84.     }
  85. }
RAW Paste Data