public class UnionIntersectionSortBinarySearch { public static void print(int a[]) { for (int i : a) { System.out.print(i + " "); } System.out.println(); } public static int binarySearch (int a[], int number) { int last = 0,first = 0, mid = 0; int check = 0; last= a.length - 1; first=0; while (last >= first && check == 0) { mid = (first+last)/2; if (a[mid] == number) { check++; } else if (a[mid] > number) last = mid -1; else first = mid +1; } if (check == 1) return mid; else return -1; } public static void mergeSort (int a[], int low, int high) { if (low < high) { int middle1 = (low + high)/2; int middle2 = middle1 + 1; mergeSort(a, low, middle1); mergeSort (a, middle2, high); mergeSortHelper(a, low, middle1, middle2, high); } } public static void mergeSortHelper (int a[], int left, int middle1, int middle2, int right) { int c[] = new int[a.length]; int cell1 = left; int cell2 = middle2; int cell3 = left; while (cell1 <= middle1 && cell2 <=right) { if (a[cell1] <= a[cell2]) { c[cell3] = a[cell1]; cell1++; cell3++; } else { c[cell3] = a[cell2]; cell2++; cell3++; } } if (cell1 == middle2) { for (int i = cell2; i <=right; i++) { c[cell3] = a[i]; cell3++; } } else { for (int i = cell1; i <=middle1; i++) { c[cell3] = a[i]; cell3++; } } for (int i = left; i <= right; i++) // copying c back to a { a[i] = c[i]; } } public static void unionAndIntersection (int a[], int b[]) { } public static void main (String args []) { int A[] = {8, 2, 7, 9 ,34,14}; int B[] = {3, 2, 7, 8}; } }