两个java数组比大小排序-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

两个java数组比大小排序

蛮大人123 2016-03-20 13:24:15 2008

举个例子,我现在有两个集合数组 A ={32,43,28,3,67,20, 40,0, 59 } B = {3 ,45, 18 ,83 ,30 ,28 ,40,56 ,25} 我要对两个集合数组的大小进行一 一的比较,最后整合到一个大集合数组C中,数字大的排的前面,数字小的在后面,如果AB有数字相同的,那将A组里面的数字排到B前面。求大神帮忙怎么用循环遍历来写这一段代码。

Java
分享到
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:09:28
     public static int[] mergeSort(int[] A,int[] B){
            int[] tmp = new int[A.length + B.length];
            //将A,B分别排序
            Arrays.sort(A);
            Arrays.sort(B);
            //合并到一个数组里面
            int index = 0;//tmp的游标
            int i = A.length - 1;//A的游标
            int j = B.length - 1;//B的游标
            while(i >= 0 && j >= 0){
                if(A[i] >= B[j]){
                    tmp[index++] = A[i--];
                }else{
                    tmp[index++] = B[j--];
                }
            }
            while(i >= 0){
                tmp[index++] = A[i--];
            }
            while(j >= 0){
                tmp[index++] = B[j--];
            }
            return tmp;
        }
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程