「java有序数组合并」java合并两个有序序列

博主:adminadmin 2023-03-18 13:03:07 468

今天给各位分享java有序数组合并的知识,其中也会对java合并两个有序序列进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java将两个乱序数组合成一个有序数组代码怎么写

可供参考,代码如下:

import java.util.ArrayList;

import com.demo.test.MaoPao;

public class ArrayListAdd {

public static void main(String[] args) {

int a[] = { 1, 6, 9, 4, 5 };

int b[] = { 7, 0, 3, 2, 8 };

ArrayListInteger alist = new ArrayListInteger(a.length + b.length);

for (int i = 0; i  a.length; i++) {

alist.add(a[i]);

}

for (int j = 0; j  b.length; j++) {

alist.add(b[j]);

}

int c[] = new int[alist.size()];

for (int i = 0; i  alist.size(); i++) {

c[i] = alist.get(i);

}

MaoPao mySort = new MaoPao();

mySort.bubbleSort(c);

System.out.println("整合后的数组是:");

for(int k=0;kc.length;k++){

System.out.print(c[k]);

}

}

public void bubbleSort(int[] array) {

int temp;

for (int i = 0; i  array.length; i++) {// 趟数

for (int j = 0; j  array.length - i - 1; j++) {// 比较次数

if (array[j]  array[j + 1]) {

temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}

}

}

}

}

如何在java里java字符串数组合并成一个数组?

java里java字符串数组合并成一个数组方法如下:

//方法一 Arrays类

String[] a = {"A","B","C"};

String[] b = {"D","E"};

// ListString list = Arrays.asList(a);  --OK

// ListString list = Arrays.asList("A","B","C"); --OK

// list.add("F"); --UnsupportedOperationException

// list.remove("A"); --UnsupportedOperationException

// list.set(1,"javaee");--OK (因为是把数组转为集合,其本质还是数组,数组长度固定不变,但内容可以改变)

// 结论:虽然可以把数组转为集合,但是集合长度不能改变

List list = new ArrayList(Arrays.asList(a));

list.addAll(Arrays.asList(b));

String[] str = new String[list.size()];

list.toArray(str);

for(int x=0;xstr.length;x++){

System.out.print(str[x] + " ");

}

//方法二 循环遍历

// 两个数组合并

String[] str1 = {"Hello","world","java"};

String[] str2 = {"Veriable","syntax","interator"};

String[] newStr = new String[str1.length+str2.length];

//newStr = str1;数组是引用类型

for(int x=0;xstr1.length;x++){

newStr[x] = str1[x];

}

for(int y=0;ystr2.length;y++){

newStr[str1.length+y]=str2[y];

}

for(int y=0;ynewStr.length;y++){

System.out.println(newStr[y] + " ");

  }

// 方法三

String[] str1 = {"Hello","world","java"};

String[] str2 = {"Veriable","syntax","interator"};

int str1Length = str1.length;

int str2length = str2.length;

str1 = Arrays.copyOf(str1, str1Length+str2length);//数组扩容

System.arraycopy(str2, 0, str1, str1Length, str2length);

System.out.println(Arrays.toString(str1));

java中怎么合并两个数组 简单明了的

int[] arr1 = {1,2,3,4,11};

int[] arr2 = {6,7,8,9,10};

int newLength = arr1.length + arr2.length;

int[] arr_target = new int[newLength];

//参数:源数组,源数组起始位置,目标数组,目标数组起始位置,复制长度

System.arraycopy(arr1, 0, arr_target, 0, arr1.length);

System.arraycopy(arr2, 0, arr_target, arr1.length, arr2.length);

//输出合并后数组

for (int i : arr_target) {

System.out.println(i);

}

//排序

Arrays.sort(arr_target);

//输出排序数组

for (int i : arr_target) {

System.out.println(i);

}

//逆序

int[] arr_reverse = new int[newLength];

int flag = 0;

for (int i : arr_target) {

arr_reverse[newLength - flag - 1] = i;

flag++;

}

//输出逆序数组

for (int i : arr_reverse) {

System.out.println(i);

}

数组合并不一定非得遍历

具体的输出题主自己再修改吧

Java编程:两个int类型有序数组A和B,长度分别为m和n,合并成有序数组C,并给出时间复杂度。

//两个有序的话,那么只用每次都从头部开始取值,然后插入到C数组里面

//所以时间复杂度为O(m+n)

public void mergeArray(int[] a,int[] b,int[] c){

    int m = 0;

    int n = 0;

    int x = 0;

    while(ma.length nb.length){

        if(a[m]= b[n]){

            c[x++]=a[m++];

        }else{

            c[x++]=b[n++];

        }

    }

}

关于java有序数组合并和java合并两个有序序列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。