1.题目:
输入两个有序数列,设计算法将二者合并成一个有序数列。
2.分析:
arr1 = 设置个指针j 比较两数组指针所指的数 取出数 就j++
arr2= 设置个指针k 比较两数组指针所指的数 取出数 就k++
arr3= 创建新数组 装数组1和2的合并
3.代码展示(复制可直接运行)
public class Y2017T8 {
public static void congrate(int arr1[],int arr2[]){
int k=0,j=0;
int[] arr=new int[arr1.length+arr2.length];
for(int i=0;i<arr.length;i++){
if(j<arr1.length&&k<arr2.length){
if(arr1[j]>=arr2[k]){
arr[i]=arr1[j];
j++;
}else{
arr[i]=arr2[k];
k++;
}
}else if(j<arr1.length){
arr[i]=arr1[j];
j++;
}else{
arr[i]=arr2[k];
k++;
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
public static void main(String[] args) {
int []arr1={99,77,66,44,12,3};
int []arr2={126,120,68,62,84,12,1};
congrate(arr1, arr2);
}
}