怎么样将两个数组a[],b[]的元素存入另外一个数组c[]中并排序?

解决方案 »

  1.   

    直接把a和b的数据复制到c里面去,然后对c进行排序import java.util.*;public class Test
    {
    public static void main(String[] args)
    {
    int[] a = new int[] {1, 2, 5, 7};
    int[] b = new int[] {3, 4, 6, 8};
    int[] c = new int[a.length + b.length];
    System.arraycopy(a, 0, c, 0, a.length);
    System.arraycopy(b, 0, c, a.length, b.length);
    Arrays.sort(c);
    System.out.println(Arrays.toString(a));
    System.out.println(Arrays.toString(b));
    System.out.println(Arrays.toString(c));
    }
    }
      

  2.   

    经典的c语言小程序,我记得好像是2个有序序列合并吧。。我就那么做了。import java.util.Arrays;public class Test {
    public static void main(String args[]){
    int[] a = {1,5,6,7,0};
    int[] b = {9,5,6,7,8};
    insertAndSort(a,b);

    }
    public static void insertAndSort(int[] a,int[] b){
    int[] c = new int[a.length+b.length];
    Arrays.sort(a);
    Arrays.sort(b);
    int prevC=0;
    int prevA=0;
    int prevB=0;
    for(int i=0;i<a.length+b.length;i++){
    if(prevA==a.length||prevB==b.length){
    if(prevA==a.length){
    c[prevC]=b[prevB];
    prevB++;
    prevC++;
    }
    else{
    c[prevC]=a[prevA];
    prevA++;
    prevC++;
    }
    continue;
    }
    else if(a[prevA]<=b[prevB]){
    c[prevC]=a[prevA];
    prevA++;
    prevC++;
    }
    else if(b[prevB]<a[prevA]){
    c[prevC]=b[prevB];
    prevB++;
    prevC++;
    }
    }
    System.out.print(Arrays.toString(c));
    }
    }
      

  3.   

    也可以先 制定c数组的长度是a和b长度的和,然后将a和b中的元素通过for循环赋值给C,最后用Arrays.sort();
      

  4.   

    你能不能把你这种方法写一下,然后排序不用sort也用for循环实现出来我看一下。谢谢