java如何用一个循环实现两个有序数组合并成一个有序数组

如题,代码如下:

public void paixu() {
        int[] a = { 1, 3, 5 };
        int[] b = { 2, 3, 4, 7 };
        int l = a.length + b.length;
        int[] temp = new int[l];
        int i = 0, j = 0, h = 0;
        // 这里必须用while,不能用for
        while (i < a.length || j < b.length) {
            if (i == a.length && j < b.length) {
                temp[h++] = b[j++];
            } else if (i < a.length && j == b.length) {
                temp[h++] = a[i++];
            } else if (a[i] <= b[j]) {
                temp[h++] = a[i++];
            } else if (a[i] > b[j]) {
                temp[h++] = b[j++];
            }
        }
        for (int m : temp) {
            System.out.print(m + "  ");
        }
    }

 

posted @ 2020-02-17 16:34  存钱罐  阅读(1424)  评论(0编辑  收藏  举报