「java有序数组合并」java合并两个有序序列
今天给各位分享java有序数组合并的知识,其中也会对java合并两个有序序列进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java将两个乱序数组合成一个有序数组代码怎么写
- 2、如何在java里java字符串数组合并成一个数组?
- 3、java中怎么合并两个数组 简单明了的
- 4、Java编程:两个int类型有序数组A和B,长度分别为m和n,合并成有序数组C,并给出时间复杂度。
用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合并两个有序序列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。