From f72136a99f05103c5263609ee1d9b4ef7ff24cac Mon Sep 17 00:00:00 2001 From: ElzhanZhandos <150348751+Elzhan2007@users.noreply.github.com> Date: Fri, 26 Sep 2025 12:15:17 +0500 Subject: [PATCH] Uploading merge sort algorithm --- mergesort.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 mergesort.java diff --git a/mergesort.java b/mergesort.java new file mode 100644 index 0000000..92e47e2 --- /dev/null +++ b/mergesort.java @@ -0,0 +1,48 @@ +// Merge Sort +import java.util.Arrays; + +public class mergesort { + + public static int[] mergeSort(int[] arr) { + if (arr.length <= 1) { + return arr; + } + + int mid = arr.length / 2; + int[] left = Arrays.copyOfRange(arr, 0, mid); + int[] right = Arrays.copyOfRange(arr, mid, arr.length); + + return merge(mergeSort(left), mergeSort(right)); + } + + public static int[] merge(int[] left, int[] right) { + int[] result = new int[left.length + right.length]; + int i = 0, j = 0, k = 0; + + while (i < left.length && j < right.length) { + if (left[i] < right[j]) { + result[k++] = left[i++]; + } else { + result[k++] = right[j++]; + } + } + + while (i < left.length) { + result[k++] = left[i++]; + } + + while (j < right.length) { + result[k++] = right[j++]; + } + + return result; + } + + public static void main(String[] args) { + int[] arr = {38, 27, 43, 3, 9, 82, 10}; + int[] sortedArr = mergeSort(arr); + System.out.println("Sorted Array: " + Arrays.toString(sortedArr)); + } +} + +