1 问题
生成两个任意的随机数组,并将这两个数组按照数字大小按顺序归并到一个新数组中。
2 方法
思路:定义三个数组,两个数组自己输入值,第三个数组用来作归并后的数组,先将两个数组的值全部赋给第三个数组,然后将其进行排序输出。
(1)先定义三个数组
(2)给两个数组赋值
(3)给新数组赋值
(4)给新数组排序,并输出最终结果
package Practice1;import java.util.Arrays;import java.util.Random;import java.util.Scanner;public class Practice2{ public static void main(String[] args) { int[] arr1=new int[5]; int[] arr2=new int[5]; int[] New=new int[10]; Scanner scanner=new Scanner(System.in); System.out.print("请给第一个数组赋值,最多"+arr1.length+"个,以空格隔开:"); for(int i=0;i<arr1.length;i++) { arr1[i]=scanner.nextInt(); } System.out.println("第一个数组:"+Arrays.toString(arr1)); System.out.println("-------------------------------------------------"); System.out.print("请给第二个数组赋值,最多"+arr2.length+"个,以空格隔开:"); for(int i=0;i<arr2.length;i++) { arr2[i]=scanner.nextInt(); } System.out.println("第二个数组:"+Arrays.toString(arr2)); System.out.println("-------------------------------------------------"); for(int i=0;i<New.length;i++) { if(i<arr1.length) New[i]=arr1[i]; if(i>=arr1.length) { New[i]=arr2[i-5]; } } for(int i=0;i<New.length-1;i++) { for(int j=0;j<New.length-1-i;j++) { if(New[j]>New[j+1]) { int tmp=New[j]; New[j]=New[j+1]; New[j+1]=tmp; } } } //输出最终结果数组 System.out.println("排序后的新数组:"+Arrays.toString(New)); }} |
---|
3 结语
针对随机数组归并问题,提出冒泡排序方法。通过本次实验,证明该方法是有效的,除了本文的方法外还可使用递归来解决此问题。