0
点赞
收藏
分享

微信扫一扫

合并两个有序的数组

描述

给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组

解题思路:

暴力解题法,先将B加入A数组之后,然后再排序

 public void merge(int[] A, int m, int[] B, int n) {
        //先扩容
        A = java.util.Arrays.copyOf(A, m + n);

        for (int i = 0; i < n; i++) {
            A[m + i] = B[i];
        }

        for (int i = 0; i < (A.length - 1); i++) {
            for (int j = 0; j < (A.length - i - 1); j++) {
                if (A[j] > A[j + 1]) {
                    int temp = A[j];
                    A[j] = A[j + 1];
                    A[j + 1] = temp;
                }
            }
        }

        for (int i = 0; i < A.length; i++) {
            System.out.print(A[i]);
        }
    }

当然了,也有System.arraycopy方法,直接复制,然后使用Arrays.sort进行排序

  public void merge1(int[] A, int m, int[] B, int n) {
        //先扩容
        A = java.util.Arrays.copyOf(A, m + n);
        System.arraycopy(B, 0, A, m, n);
        Arrays.sort(A);

        for (int i = 0; i < A.length; i++) {
            System.out.print(A[i]);
        }
    }
举报

相关推荐

0 条评论