java 两个有序数组并归

package dituTest;
import java.util.Arrays;
public class Test12 {
    public static void main(String[] args) {
        int[] a = { 1, 1, 4, 5};
        int[] b = { 2, 4, 4, 7, 12, 22, 45, 67 };
        int[] c = new int[a.length + b.length];
        int an = 0,bn = 0;
        for (int i = 0; i < c.length; i++) {
            if (a[an] < b[bn]) {
                c[i] = a[an];
                an++;
                if (an == a.length) { // 数组a 输出,换数组b上,在来一个循环后
                    for (int j = 1; j <=c.length - an - bn; j++) {
                        c[i + j] = b[bn + j - 1];
                    }
                    break; // 数组c装填完毕
                }
            } else {
                c[i] = b[bn];
                bn++;
                if (bn == b.length) {
                    int n1 = c.length - an - bn;
                    for (int j = 1; j <= n1; j++) {
                        c[i + j] = a[an + j - 1];
                    }
                    break;
                }
            }
        }
        System.out.println(Arrays.toString(c));
    }
}
 

发布了21 篇原创文章 · 获赞 3 · 访问量 6562

猜你喜欢

转载自blog.csdn.net/MADMY/article/details/80397311