Merge sort
Merge sort
class MergeSort
int n1 = q - p + 1;
int n2 = r - q;
int i, j, k;
i = 0;
j = 0;
k = p;
while (i < n1 && j < n2)
arr[k] = Left[i];
i++;
else
arr[k] = Right[j];
j++;
k++;
arr[k] = Left[i];
i++;
k++;
}
while (j < n2) {
arr[k] = Right[j];
j++;
k++;
// Divide the array into two subarrays, sort them and merge them
}
void printArray(int arr[])
int n = arr.length;
System.out.println();
class MergeSortApp
System.out.println("Given array:");
for(int i=0;i<arr.length;i++)
System.out.print(“ “ +arr[i]);
System.out.println("Sorted array:");
printArray(arr);
}
Quick Sort
import java.util.Arrays;
class Quicksort
i++;
array[i] = array[j];
array[j] = temp;
}
int temp = array[i + 1];
array[i + 1] = array[high];
array[high] = temp;
return (i + 1);
quickSort(array, pi + 1, high);
class QuickSortApp
System.out.println(Arrays.toString(data));
int size = data.length;
System.out.println(Arrays.toString(data));