canezzy

RadicSort

Apr 1st, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. package main;
  2.  
  3. public class Main {
  4.  
  5.     public static void mergeSort(int arr[], int low, int high) {
  6.         if (low < high) {
  7.             int mid = (low + high) / 2;
  8.  
  9.             mergeSort(arr, low, mid);
  10.             mergeSort(arr, mid + 1, high);
  11.  
  12.             merge(arr, low, mid, high);
  13.         }
  14.     }
  15.  
  16.     public static void swap(int i, int j) {
  17.         int k = i;
  18.         i = j;
  19.         j = k;
  20.     }
  21.  
  22.     static void merge(int a[], int low, int mid, int high) {
  23.         int left = low;
  24.         int right = mid + 1;
  25.         int tmp;
  26.        
  27.         if (a[mid] <= a[right])
  28.             return;
  29.  
  30.         while (left <= mid && right <= high) {
  31.             if (a[left] <= a[right])
  32.                 left++;
  33.             else {
  34.                 tmp = a[right];
  35.  
  36.                 // System.arraycopy(a, left, a, left + 1, right - left);
  37.                 int tmp2 = a[left];
  38.                 int tmp3;
  39.                 for(int i = left; i < right; i++){
  40.                     tmp3 = a[i+1];
  41.                     a[i+1] = tmp2;
  42.                     tmp2 = tmp3;
  43.                 }
  44.                
  45.                
  46.                
  47.                 for (int i = right - 1; i > left; i--) {
  48.                     a[i] = a[i - 1];
  49.                 }
  50.  
  51.                 a[left] = tmp;
  52.                 left++;
  53.                 mid++;
  54.                 right++;
  55.             }
  56.         }
  57.     }
  58.  
  59.     public static void main(String args[]) {
  60.         int arr[] = { 6, 12, 4, 92, 35, 22 };;
  61.  
  62.         System.out.println("Pocetna");
  63.         for (int b : arr) {
  64.             System.out.print(b);
  65.             System.out.print(", ");
  66.         }
  67.  
  68.         mergeSort(arr, 0, arr.length - 1);
  69.  
  70.         System.out.println("\nSortirana");
  71.         for (int b : arr) {
  72.             System.out.print(b);
  73.             System.out.print(", ");
  74.         }
  75.     }
  76. }
Add Comment
Please, Sign In to add comment