Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Mymerge {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String nString = scanner.next();
- int[] a = stringToBig(nString);
- MergeSort(a, 0, 5);
- }
- public static int[] stringToBig(String c) {
- int[] b = new int[c.length()];
- for (int j = 0; j < c.length(); j++) {
- b[j] = (c.charAt(j) - '0');
- }
- return b;
- }
- public static void MergeSort(int[] a, int start, int end) {
- if (start < end) {
- MergeSort(a, start, (start + end) / 2);
- MergeSort(a, (start + end) / 2 + 1, end);
- }
- Merge(a, start, end);
- }
- public static void Merge(int[] a, int start, int end) {
- int left, right, middle;
- int[] temp = new int[a.length];
- middle = (end - start) / 2;
- left = start;
- right = middle + 1;
- for (int j = start; j <= end; j++) {
- if ((left <= middle) && ((right >= end) || (a[left] < a[right]))) {
- temp[j]=a[left];
- left++;
- }else{
- temp[j]=a[right];
- right++;
- }
- }
- for (int j = start; j < end; j++) {
- a[j] = temp[j - start];
- }
- }
- public static void out(int[] a) {
- System.out.println();
- for (int val : a) {
- System.out.print(val);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement