集合与集合的并
int union(BitSet *s0,BitSet * s1,BitSet * s2){
int i;
if(s0->size!=s1->size||s2->size!=s1->size)return 0;
for(i=0;i<s1->size;i++)
s2->array[i]=s0->array[i] | s1->array[i];
return 1;
}


集合与集合的交
int intersection(BitSet *s0,BitSet * s1,BitSet * s2){
int i;
if(s0->size!=s1->size||s2->size!=s1->size)return 0;
for(i=0;i<s1->size;i++)
s2->array[i]=s0->array[i] & s1->array[i];
return 1;
}


集合与集合的差
int difference(BitSet *s0,BitSet * s1,BitSet * s2){
int i;
if(s0->size!=s1->size||s2->size!=s1->size)return 0;
for(i=0;i<s1->size;i++)
s2->array[i]=s0->array[i] & ~ s1->array[i];
return 1;
}