【发布时间】:2017-06-16 15:17:36
【问题描述】:
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arrA = {2,3,4};
int[] arrB = {5,6,7,8};
mergeArray(arrA,arrB);
}
static void mergeArray(int[] arrA,int[] arrB){
int len = arrA.length+arrB.length;
int lenA = arrA.length;
int lenB = arrB.length;
int a=0,b=0,c=0;
int temp=0;
int[] arrC = new int[len];
for(int i=0; i < lenA; i++){
arrC[i] = arrA[i];
}
for(int j=lenA,k=0; (k < lenB) && (j < len) ; j++,k++){
arrC[j] = arrB[k];
}
for(int n=0; n < len ; n++){
for(int m=0; m < len; m++ ){
if(arrC[n] < arrC[m]){
temp = arrC[n];
arrC[n] = arrC[m];
arrC[m] = temp;
}
}
}
for(int x : arrC){
System.out.println(x);
}
}
结果:{2,3,4,5,6,7,8}
我正在尝试将值放入一个新数组并再次对其进行排序。谁能给我比这更好的解决方案。
【问题讨论】:
-
这个有什么问题?
-
我想要比这个更好的解决方案。@beaker
-
看看
System#arrayCopy -
有没有不使用库方法的解决方案?? @JonK
-
一个显而易见的改进:让你的 mergeArray 方法实际返回新的合并数组,而不是什么都不做,这样它很快就会遇到垃圾收集器。
标签: java arrays algorithm sorting