第1个回答 2009-06-27
import java.util.*;
public class ArrayTest {
public static void main(String[] args) {
int[] a = {1,6,4,5,2,3,};
int[] b = {2,3,4,56,7,8,99};
int[] t = ArrayTest.并集(a, b);
for(int i:t)System.out.print(i+" ");
System.out.println();
t = ArrayTest.交集(a, b);
for(int i:t)System.out.print(i+" ");
}
static int[] 并集(int[] a,int[] b){
Arrays.sort(a);
Arrays.sort(b);
int[] t = new int[a.length];
System.arraycopy(a,0,t,0,t.length);
out:
for(int i:b){
for(int j:a){
if(i==j)continue out;
}
t=putInt(t,i);
}
Arrays.sort(t);
return t;
}
static int[] 交集(int[] a,int[] b){
Arrays.sort(a);
Arrays.sort(b);
int[] t = new int[0];
for(int i:a){
for(int j:b){
if(i==j){
t=putInt(t,i);
break;
}
}
}
return t;
}
static int[] putInt(int[] a,int i){
int[] t = new int[a.length+1];
System.arraycopy(a, 0,t,0,a.length);
t[a.length]=i;
return t;
}
}
//做了交集,并集,差集自己想吧