合并两个有序数组,升序排列:
public class Demo1 {
public static void merge(int[]num1,int m,int[]num2,int n) {
for(int i=0;i<n;i++) {
num1[m+i]=num2[i];
}
Arrays.sort(num1);
System.out.println(Arrays.toString(num1));
}
public static void main(String[] args) {
int []a= {1,5,6,4,7,0,0,0,0};
int []b= {8,7,5,9};
merge(a,5,b,4);
}
}
package addArray;
public class Demo2 {
public static void merge(int[] nums1, int m, int[] nums2, int n) {
int index = m;
for (int i = 0; i < n; i ++) {
while (index > 0 && nums2[i] < nums1[index - 1]) {
nums1[index] = nums1[index - 1];
index --;
}
nums1[index] = nums2[i];
index = m + i + 1;
}
}
public static void main(String[] args) {
int []a= {1,5,6,4,7,0,0,0,0};
int []b= {8,7,5,9};
merge(a,5,b,4);
for(int in:a) {
System.out.print(in+" ");
}
}
}