1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| public class 顺序表实现集合交集 { static int a[]=new int[100],b[]=new int[100],c[]=new int[100]; static int size[]=new int[10]; static void insert(int arr[],int x,int type){ int len=size[type]; for(int i=0;i<len;i++){ if(x==arr[i]) return; } arr[len]=x; size[type]++; } static void print(int arr[],int type){ int len=size[type]; for(int i=0;i<len;i++){ System.out.print(arr[i]+" "); } System.out.println(); } static void intersection(int arr1[],int arr2[],int arr3[],int type1,int type2,int type3){ int lenA=size[type1]; int lenB=size[type2]; int lenC=size[type3]; for(int i=0;i<lenA;i++){ int x=arr1[i]; for(int j=0;j<lenB;j++){ if(x==arr2[j]){ arr3[lenC++]=x; break; } } } size[type3]=lenC; } public static void main(String[] args) { int testA[]={1,2,3,3,4,5}; int testB[]={4,5,6,6}; for(int i=0;i<testA.length;i++){ insert(a,testA[i],0); } System.out.println("集合A的内容为:"); print(a,0);
for(int i=0;i<testB.length;i++){ insert(b,testB[i],1); } System.out.println("集合B的内容为:"); print(b,1);
intersection(a,b,c,0,1,2); System.out.println("AB交集为"); print(c,2); } }
|