方法一:没有人比我更懂for循环
import java.io.*;
import java.util.*;
//6.10
public class Main{
public static void main(String[]args)throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int[]arr1={1,3,7};
int[]arr2={1,4,6,8};
int m=arr1.length;
int n=arr2.length;
int[]arr=new int[m+n];
for(int i=0;i<m;i++){
arr[i]=arr1[i];
}
for(int j=0;j<n;j++){
arr[j+m]=arr2[j];
}
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
方法二:常规思路
import java.io.*;
import java.util.*;
//6.10
public class Main{
public static void main(String[]args)throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int[]arr1={1,3,7};
int[]arr2={1,4,6,8};
int m=arr1.length;
int n=arr2.length;
int[]arr=new int[m+n];
int i=0,j=0,k=0;
while(i<m&&j<n){
if(arr1[i]<=arr2[j]){
arr[k]=arr1[i];
i++;
k++;
}else{
arr[k]=arr2[j];
j++;
k++;
}
}
while(i<m){
arr[k]=arr1[i];
i++;
k++;
}
while(j<n){
arr[k]=arr2[j];
j++;
k++;
}
System.out.println(Arrays.toString(arr));
}
}
这篇博客介绍了两种在Java中合并两个已排序数组并进行排序的方法。方法一是使用for循环直接合并,然后调用Arrays.sort进行排序;方法二是通过双指针比较元素并合并,避免了额外的排序步骤。这两种方法都展示了Java在处理数组操作时的灵活性。
1011

被折叠的 条评论
为什么被折叠?



