Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tạo một mảng hợp nhất được sắp xếp của hai mảng không được sắp xếp

Để tạo một mảng hợp nhất có sắp xếp gồm hai mảng không được sắp xếp, trước tiên, chúng ta hãy tạo hai mảng chưa được sắp xếp−

int[] arr1 = new int[] {50, 22, 15, 40, 65, 75};
int[] arr2 = new int[] {60, 45, 10, 20, 35, 56};

Bây giờ chúng ta hãy tạo một mảng kết quả mới, mảng đó sẽ có mảng được hợp nhất−

Ví dụ

int count1 = arr1.length;
int count2 = arr2.length;
int [] resArr = new int[count1 + count2];
Now, we will merge both the arrays in the resultant array resArr:
while (i < arr1.length){
   resArr[k] = arr1[i];
   i++;
   k++;
}
while (j < arr2.length){
   resArr[k] = arr2[j];
   j++;
   k++;
}

Bây giờ chúng ta hãy xem ví dụ hoàn chỉnh

Ví dụ

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Demo {
   public static void main(String[] args){
      int[] arr1 = new int[] {50, 22, 15, 40, 65, 75};
      int[] arr2 = new int[] {60, 45, 10, 20, 35, 56};
      System.out.println("1st Array = "+Arrays.toString(arr1));
      System.out.println("2nd Array = "+Arrays.toString(arr2));
      int count1 = arr1.length;
      int count2 = arr2.length;
      int [] resArr = new int[count1 + count2];
      int i=0, j=0, k=0;
      while (i < arr1.length) {
         resArr[k] = arr1[i];
         i++;
         k++;
      }
      while (j < arr2.length) {
         resArr[k] = arr2[j];
         j++;
         k++;
      }
      Arrays.sort(resArr);
      System.out.println("Sorted Merged Array = "+Arrays.toString(resArr));
   }
}

Đầu ra

1st Array = [50, 22, 15, 40, 65, 75]
2nd Array = [60, 45, 10, 20, 35, 56]
Sorted Merged Array = [10, 15, 20, 22, 35, 40, 45, 50, 56, 60, 65, 75]