6 typedef struct intset
{
15 intset
*set
= malloc(sizeof(intset
));
16 set
->arr
= malloc(sizeof(int) * 10);
23 intset_free(intset
*set
)
32 intset_cmp(const void *a
, const void *b
)
34 int x
= *(int *)a
, y
= *(int *)b
;
44 intset_add(intset
*set
, int item
)
46 if (intset_contains(set
, item
)) {
50 if (set
->length
+ 1 > set
->capacity
) {
52 set
->arr
= realloc(set
->arr
, sizeof(int) * set
->capacity
);
54 set
->arr
[set
->length
] = item
;
56 qsort(set
->arr
, set
->length
, sizeof(int), intset_cmp
);
60 intset_contains(intset
*set
, int item
)
62 void *found
= bsearch(&item
, set
->arr
, set
->length
, sizeof(int), intset_cmp
);