public class ArrSort_TwoToOne { public static void main(String[] args){ //初始化数组 int[] arr1={2,4,8}; int[] arr2={1,2,3,4,5,6,9,10}; //初始化计数变量 int s1=arr1.length-1, s2=arr2.length-1, s3=s1+s2+2, k=0; //初始化结果集数组 int[] resArr = new int[s3]; //两个数组进行比较, 比较的次数为长度较短的数组的长度(即arr1的长度) while(s1 >= 0 && s2 >= 0){ if(arr1[s1] > arr2[s2]){ resArr[k++] = arr1[s1--]; }else{ resArr[k++] = arr2[s2--]; } } System.out.println(" s1: " + s1 + " , s2 : " + s2 + ", k: " + k); //打印结果集 System.out.println("第一次比较后的结果:"); for(int t=0; t<s3; System.out.print(resArr[t++] + ", ")); while(s1>=0){ resArr[k++] = arr1[s1--]; } while(s2>=0){ resArr[k++] = arr2[s2--]; } //打印结果集 System.out.println("第二次比较后的结果:"); for(int t=0; t<s3; System.out.print(resArr[t++] + ", ")); } }