开发者社区> 问答> 正文

两个java数组比大小排序

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

展开
收起
蛮大人123 2016-03-20 13:24:15 3426 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
     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;
        }
    2019-07-17 19:09:28
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载