System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
int a[] = {1,2,3}; int b[] = {4,5,6}; int c[] = new int[6]; System.arraycopy(a,0,c,0,a.length); System.arraycopy(b,0,c,3,b.length); for (int i = 0; i < c.length; i++) { System.out.println(c[i]); }
就是这样我以为楼主的意思是两个排好序的数组,组合排好序,不知道是不是多此一举了 public class arrayCombine { /** * @param args */ public static void main(String[] args) { int a[] = {1,2,3,4}; int b[] = {5,6,7,8}; int c[] = combine(a,b); } public static int[] combine(int[] a, int[] b) { int alen = a.length; int blen = b.length; int clen = alen+blen;
int i,j; int[] c = new int[clen]; for(i=0,j=0;i<alen&&j<blen;) { if(a[i]<b[j]) { c[i+j]=a[i]; i++; } else { c[i+j]=b[j]; j++; }
class ArrayCopy { public static void main(String[] args) { int [] a = {1,2,3,4}; int [] b = {5,6,7,8}; int [] c = null; int alength = a.length; int blength = b.length; int clength = a.length + b.length; c = new int[clength]; System.arraycopy(a,0,c,0,alength); System.arraycopy(b,0,c,alength,blength); for(int i = 0;i < clength;i++) { System.out.println(c[i]); } } }
两个无序数组合并并且排序的话: public class acopy { public static void main(String[] args) { int a[] = {1,13,9,4}; int b[] = {5,11,7,8}; int c[] = combine(a,b); } public static int[] combine(int[] a, int[] b) { int alen = a.length; int blen = b.length; int clen = alen+blen;
//数组合并 int i,j; int temp; int[] c = new int[clen]; System.arraycopy(a,0,c,0,alen); System.arraycopy(b,0,c,alen,blen);
int b[] = {4,5,6};
int c[] = new int[6];
System.arraycopy(a,0,c,0,a.length);
System.arraycopy(b,0,c,3,b.length);
for (int i = 0; i < c.length; i++)
{
System.out.println(c[i]);
}
public class arrayCombine { /**
* @param args
*/
public static void main(String[] args) {
int a[] = {1,2,3,4};
int b[] = {5,6,7,8};
int c[] = combine(a,b);
}
public static int[] combine(int[] a, int[] b)
{
int alen = a.length;
int blen = b.length;
int clen = alen+blen;
int i,j;
int[] c = new int[clen];
for(i=0,j=0;i<alen&&j<blen;)
{
if(a[i]<b[j])
{
c[i+j]=a[i];
i++;
}
else
{
c[i+j]=b[j];
j++;
}
} if(i==alen) System.arraycopy(b,j,c,alen+j,blen-j); if(j==blen) System.arraycopy(a,i,c,blen+i,alen-i);
for(int k=0;k<a.length+b.length;k++)
System.out.println(c[k]);
return c;
}}
public static void main(String[] args) {
int [] a = {1,2,3,4};
int [] b = {5,6,7,8};
int [] c = null;
int alength = a.length;
int blength = b.length;
int clength = a.length + b.length;
c = new int[clength];
System.arraycopy(a,0,c,0,alength);
System.arraycopy(b,0,c,alength,blength);
for(int i = 0;i < clength;i++) {
System.out.println(c[i]);
}
}
}
public class acopy { public static void main(String[] args) {
int a[] = {1,13,9,4};
int b[] = {5,11,7,8};
int c[] = combine(a,b);
}
public static int[] combine(int[] a, int[] b)
{
int alen = a.length;
int blen = b.length;
int clen = alen+blen;
//数组合并
int i,j;
int temp;
int[] c = new int[clen];
System.arraycopy(a,0,c,0,alen);
System.arraycopy(b,0,c,alen,blen);
//数组元素按递增排序
for(i=0;i<clen;i++)
{
for(j=0;j<clen-i-1;j++)
{
if(c[j]>c[j+1])
{temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;}
else{}
}
} for(int k=0;k<clen;k++)
System.out.println(c[k]);
return c;
}}