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, a.length-1);
- }
- 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 l, r, m;
- int[] temp = new int[a.length];
- m = (start + end) / 2;
- l = start;
- r = m + 1;
- for (int j = start; j <= end; j++) {
- if ((l <= m) && ((r > end) || (a[l] <= a[r]))) {
- temp[j - start] = a[l];
- l++;
- out(temp);
- System.out.print("temp1");
- } else {
- temp[j - start] = a[r];
- r++;
- out(temp);
- System.out.print("temp2");
- }
- }
- 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