Merging two unsorted arrays in sorted order
- Get link
- X
- Other Apps
First Concatenate then Sort
import java.util.*;
class GFG { // Function to merge array in sorted order public static void sortedMerge(int a[], int b[], int res[], int n, int m) { // Concatenate two arrays int i = 0, j = 0, k = 0; while (i < n) { res[k] = a[i]; i++; k++; } while (j < m) { res[k] = b[j]; j++; k++; } // sorting the res array Arrays.sort(res); } /* Driver program to test above function */ public static void main(String[] args) { int a[] = { 10, 5, 15 }; int b[] = { 20, 3, 2, 12 }; int n = a.length; int m = b.length; // Final merge list int res[]=new int[n + m]; sortedMerge(a, b, res, n, m); System.out.print("Sorted merged list :"); for (int i = 0; i < n + m; i++) System.out.print(" " + res[i]); }}
First Sort then Merge
// JAVA Code for Merging two unsorted // arrays in sorted orderimport java.util.*; class GFG { // Function to merge array in sorted order public static void sortedMerge(int a[], int b[], int res[], int n, int m) { // Sorting a[] and b[] Arrays.sort(a); Arrays.sort(b); // Merge two sorted arrays into res[] int i = 0, j = 0, k = 0; while (i < n && j < m) { if (a[i] <= b[j]) { res[k] = a[i]; i += 1; k += 1; } else { res[k] = b[j]; j += 1; k += 1; } } while (i < n) { // Merging remaining // elements of a[] (if any) res[k] = a[i]; i += 1; k += 1; } while (j < m) { // Merging remaining // elements of b[] (if any) res[k] = b[j]; j += 1; k += 1; } } /* Driver program to test above function */ public static void main(String[] args) { int a[] = { 10, 5, 15 }; int b[] = { 20, 3, 2, 12 }; int n = a.length; int m = b.length; // Final merge list int res[] = new int[n + m]; sortedMerge(a, b, res, n, m); System.out.print( "Sorted merged list :"); for (int i = 0; i < n + m; i++) System.out.print(" " + res[i]); }}
- Get link
- X
- Other Apps
Comments
Post a Comment