Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- public class Main {
- public static void mergeSort(int arr[], int low, int high) {
- if (low < high) {
- int mid = (low + high) / 2;
- mergeSort(arr, low, mid);
- mergeSort(arr, mid + 1, high);
- merge(arr, low, mid, high);
- }
- }
- public static void swap(int i, int j) {
- int k = i;
- i = j;
- j = k;
- }
- static void merge(int a[], int low, int mid, int high) {
- int left = low;
- int right = mid + 1;
- int tmp;
- if (a[mid] <= a[right])
- return;
- while (left <= mid && right <= high) {
- if (a[left] <= a[right])
- left++;
- else {
- tmp = a[right];
- // System.arraycopy(a, left, a, left + 1, right - left);
- int tmp2 = a[left];
- int tmp3;
- for(int i = left; i < right; i++){
- tmp3 = a[i+1];
- a[i+1] = tmp2;
- tmp2 = tmp3;
- }
- for (int i = right - 1; i > left; i--) {
- a[i] = a[i - 1];
- }
- a[left] = tmp;
- left++;
- mid++;
- right++;
- }
- }
- }
- public static void main(String args[]) {
- int arr[] = { 6, 12, 4, 92, 35, 22 };;
- System.out.println("Pocetna");
- for (int b : arr) {
- System.out.print(b);
- System.out.print(", ");
- }
- mergeSort(arr, 0, arr.length - 1);
- System.out.println("\nSortirana");
- for (int b : arr) {
- System.out.print(b);
- System.out.print(", ");
- }
- }
- }
Add Comment
Please, Sign In to add comment