数组归并算法

数组归并算法
有序数组的并归
a[1,3,3,6,9]
j
b[2,3,8,12,24,33,20]
k

c[1 2 3 3 3 6 8 ]
i

n 一般情况,j,k比较大小,小值放入i位置,对应j或k下标递增
n 特殊情况
u j越界,k后面的值一次放入新数组
u k越界,j后面的值一次放入新数组

import java.util.Arrays;

public class GuiBing {

    public static void main(String[] args) {
        int a[]={1,3,3,6,9};
        int b[]={2,3,8,12,24,33,20};
        int c[]=guibing(a,b);
        System.out.println(Arrays.toString(c));
    }

    private static int[] guibing(int[] a, int[] b) {
        int []c=new int[a.length+b.length];
        for(int i=0,j=0,k=0;i=a.length)
            {
                c[i]=b[k];
                k++;
                continue;
            }
            if(k>=b.length)
            {
                c[i]=a[j];
                j++;
                continue;
            }
            if(a[j]

运行结果

[1, 2, 3, 3, 3, 6, 8, 9, 12, 24, 33, 20]

你可能感兴趣的:(数组归并算法)