diff --git a/Java/algorithms/MergeSort.java b/Java/algorithms/MergeSort.java new file mode 100644 index 0000000..006797a --- /dev/null +++ b/Java/algorithms/MergeSort.java @@ -0,0 +1,76 @@ +public class MergeSort { + + void merge(int arr[], int low, int mid, int up) { + int n1 = mid - low + 1; + int n2 = up - mid; + + int Left[] = new int[n1]; + int Right[] = new int[n2]; + + for (int i = 0; i < n1; ++i) { + Left[i] = arr[low + i]; + } + for (int j = 0; j < n2; ++j) { + Right[j] = arr[mid + 1 + j]; + } + + int i = 0, j = 0; + + int k = low; + while (i < n1 && j < n2) { + if (Left[i] <= Right[j]) { + arr[k] = Left[i]; + i++; + } else { + arr[k] = Right[j]; + j++; + } + k++; + } + + while (i < n1) { + arr[k] = Left[i]; + i++; + k++; + } + + while (j < n2) { + arr[k] = Right[j]; + j++; + k++; + } + } + + void sort(int arr[], int low, int up) { + if (low < up) { + + int mid = low + (up - low) / 2; + + sort(arr, low, mid); + sort(arr, mid + 1, up); + + merge(arr, low, mid, up); + } + } + + static void printArray(int arr[]) { + int n = arr.length; + for (int i = 0; i < n; ++i) { + System.out.print(arr[i] + " "); + } + System.out.println(); + } + + public static void main(String args[]) { + int arr[] = {3, 5, 9, 6, 1, 4, 2, 8, 7}; + + System.out.println("Given Array"); + printArray(arr); + + MergeSort ob = new MergeSort(); + ob.sort(arr, 0, arr.length - 1); + + System.out.println("\nSorted array"); + printArray(arr); + } +} diff --git a/Java/algorithms/bubbleSort.java b/Java/algorithms/bubbleSort.java new file mode 100644 index 0000000..11eea66 --- /dev/null +++ b/Java/algorithms/bubbleSort.java @@ -0,0 +1,29 @@ +import java.util.Scanner; + +public class bubbleSort { + + public static void main(String[] args) { + int num, i, j, temp; + Scanner input = new Scanner(System.in); + System.out.println("Enter the number of Soldiers:"); + num = input.nextInt(); + int array[] = new int[num]; + System.out.println("Enter " + num + " soldiers heights in centrimeters(cm): "); + for (i = 0; i < num; i++) { + array[i] = input.nextInt(); + } + for (i = 0; i < (num - 1); i++) { + for (j = 0; j < num - 1 - i; j++) { + if (array[j + 1] < array[j]) { + temp = array[j]; + array[j] = array[j + 1]; + array[j + 1] = temp; + } + } + } + System.out.println("Sorted list of soldiers heights:"); + for (i = 0; i < num; i++) { + System.out.println(array[i]); + } + } +} diff --git a/Java/algorithms/insertionSort.java b/Java/algorithms/insertionSort.java new file mode 100644 index 0000000..5ef0df9 --- /dev/null +++ b/Java/algorithms/insertionSort.java @@ -0,0 +1,22 @@ +import java.util.Arrays; + +public class insertionSort { + + static void InsertionSort(int[] array) { + for (int i = 1; i < array.length; i++) { + int key = array[i]; + int j = i - 1; + while (j >= 0 && key < array[j]) { + array[j + 1] = array[j]; + --j; + } + array[j + 1] = key; + } + } + + public static void main(String[] args) { + int[] arr = {9, 4, 3, 1, 7, 2, 8, 6, 5}; + InsertionSort(arr); + System.out.println("Sorted Array: " + Arrays.toString(arr)); + } +}