55 freeArrayList(&(ud->members));
61 ud->members = newArrayList(ud->size);
62 ud->presences =
CHalloc(ud->size);
68 freeArrayList(&(ud->members));
80 while(i < size(members))
82 CHzero(presences,
get(members)[i]);
88 int member(
int i,
struct unionData* ud)
90 return CHget(ud->presences, i);
96 pushAL(ud->members, i);
98 CHinc(ud->presences, i, 1);
counterHash CHalloc(int n)
void CHzero(counterHash this, int i)
int CHget(counterHash this, int i)
A hash for containing counter values.
void CHinc(counterHash this, int i, int a)
This header implements an arrayList for integers.
void initUnion(int n, struct unionData *ud)
int member(int i, struct unionData *ud)
Structure for uniting two sets, without repetition.
void CHfree(counterHash *this)
Less than 1K use array of counters.
void finishUnion(struct unionData *ud)
void resetUnion(struct unionData *ud)
void insertUnion(int i, struct unionData *ud)