问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将两个有序数组合并为一个有序数组,用函数做,一个循环搞定?

发布网友 发布时间:2022-05-20 23:33

我来回答

5个回答

热心网友 时间:2023-10-09 04:27

这很简单:
代码如下(此处不考虑Object,假设为int[ ]):
public int[ ] getNewArrays(int[ ] one, int [] two){
int len=one.length;
int len2=two.length;
int len3=oneLength+twoLength; //得到两数组长度和;
int[] newArray=new int [len3]; //创建第三个数组,长度=两数组长度之和;
for(int i=0;i<len3;i++){
if(i<len){ //如果i<len,则赋值为one中的元素;
newArray[i]=one[i];
continue;
}
int t=i-len; // t 从0开始
newArray[i]=two[t]; //后面的元素 赋值为two中的元素;

} //对第三个数组一一赋值,值为前两个数组;
Arrays.sort(newArray); //对第三个数组排序;此处使用的是java自带的sort方法;
//也可使用冒泡排序,此处不演示;
return newArray;
}

热心网友 时间:2023-10-09 04:27

不需要用循环吧,数组有addAll()方法,直接合并。
如果考虑到新数组的排序,直接用Arrays.sort()方法就可以了。

热心网友 时间:2023-10-09 04:28

class test {
public static void main(String[] args) {
    int[] arr1 = new int[] { 1, 2 };
    int[] arr2 = new int[] { 5, 3, 4 };
    int[] newArr = getNew(arr1, arr2);
    printArr(newArr);
}

static int[] getNew(int[] arr1, int[] arr2) {
    int len1 = arr1.length;
    int len2 = arr2.length;
    int len = arr1.length + arr2.length;
    int[] newArr = new int[len];

    int x = 0;
    for(int i=0;i<newArr.length;i++) {
        if(i<len1) {
            newArr[i] = arr1[i];
        } else {
            newArr[i] = arr2[i - len1];
        }
    }
    return newArr;
}

static void printArr(int[] arr) {
    String str = "[";
    for (int i = 0; i < arr.length; i++) {
        int ele = arr[i];
        str += ele;
        if (i != arr.length - 1) {
        str += ",";
        }
    }
    str += "]";
    System.out.println(str);
    }

}

热心网友 时间:2023-10-09 04:28

将两个数组的元素传到一个数组内
首先定义两个数组 假设数组长度都为5 当然可以自己定义长度根据实际要求来
public class Test{
public static void main (String [] args){
int [] arr1= new int [5];
int [] arr2= new int [5];
//此处调用方法 进行赋值调用
int [] newarr=getArray(arr1,arr2);//就可以得到新的数组了
}
//此处定义一个方法 把两个数组合并到一个新数组中去
public static int [] getArray(int [] arr1,int [] arr2 ){
//下面定义一个新的数组newarr用来接收arr1,arr2数组的数据新数组的长度是原来两个数组长度之和,即arr1.length+arr2.length
int [] newarr= new int [arr1.length+arr2.length];
//然后进行数组的传递 先把arr1的元素传递给新数组 再把arr2的元素传递给新数组(newarr)
for(int i = 0;i<arr1.length;i++){
newarr[i]=arr1[i];
}
//此处把arr2的元素传递给新数组(newarr)
for(int i= 0;i<arr2.length;i++){
newarr[i+arr1.length]= arr2[i];//此处赋值的是arr1.length 以后的元素 因为newarr的数组长度是arr1.length+arr2.length;
}
return newarr;
}
}

热心网友 时间:2023-10-09 04:29

广州疯狂JAVA课程 视频课程 疯狂JAVA书籍网络畅销第一 的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
白色T 恤如何搭配才能穿出优雅的韵味? 白色T 恤衫怎样搭配才能显得时髦又好看? 白色紧身正肩T 恤想要穿出休闲感,该如何搭配? 手机怎么连接笔记本电脑的wifi上网 电热水器为什么用着用着就没压力了 用什么拖地最干净又耐脏 爱奇艺会员的等级是怎么划分的? 爱奇艺星钻会员怎么开通 怎样才是正确的接吻呢 网页上鼠标点住右键拖动后出的蓝色线条是什么?干什么用的?为什么一松开... 关于“眼泪”的名言警句有哪些? 关于眼泪的名言警句 excel公式两个数组,合并成一个数组 如何将两个数组合并为一个 关于泪水的名言 立式电钢琴中哪个型号适合初学者? 有关泪水的名言名句 关于泪水的名人名言 关于泪的名言警句 关于泪水的名句 初学者买哪款电钢琴合适啊?不要太贵 脑子怎么的啊?怎么办啊?我脑子里乱七八糟的,必须转移一下注意力才能清醒些?这是怎么了啊? 脑子老是乱糟糟的,感觉越睡越乱,但是不睡觉也不行啊,怎么能调理过来? 我的脑子总是乱糟糟的,总有不好的图象在脑中闪过,晚上睡不着,凌晨就醒。我该怎么办?只有20岁 豆腐脑为什么会是糟的 眼睛有飞蚊症四年.脑中乱糟糟的.是怎么回事.能怎么治疗?谢谢. 对大脑最糟糕的食物是什么? 我的脑子整天头脑混混沉沉,睡觉起来头晕眼花,大脑好像不是我控制,有点健忘,注意力不集中。 怎么治! 脑子乱七八糟怎么办? 碗,概,脑,糟的拼音 和泪水有关 的经典名句 求大神们excel如何将以下两个数组合并一个新的数组? 第一次买电钢琴,卡西欧和卡瓦依电钢琴哪个好? 古诗写泪水的名句 什么牌子什么型号的电钢琴比较适合初学者学习用?要价廉物美的! 泪的古诗词名句 二、 把两个有序的数组合并成一个数组并保持有序。 魅族手机pon7屏幕显示mp3是什么意思? c++两个数组合并成一个新数组 有关“眼泪”的名言警句或格言!速度! 将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用? 两个String数组 合并成一个数组 德邦物流收费标准价格表2022 女人见到男人笑怎么回事? 女生看到男生会笑怎么回事? 当一个女孩子看到一个男孩子时笑表示什么? 德邦物流收费标准是什么?你好,德邦快递长两米四,宽高均两米木箱子寄700公里多少钱_百度问一问 东芝电视英文变中文设置步骤 为什么第1次见面女生看见男生就喜欢笑??急!! 东芝电视你好,型号为48L3450C的电视,开机以后默认输入源是数字电视1,怎么更改它的默认输入啊