/* * Interface do TAD Conjunto * Representa um conjunto de numeros inteiros, que * pode armazenar valores de 0 a limite-1 */ typedef struct conjunto Conjunto; /* * Cria um conjunto de valores inteiros de 0 a limite-1 * - o conjunto estara inicialmente vazio */ Conjunto *conj_cria(int limite); /* * Libera a memoria de um conjunto */ void conj_libera(Conjunto *c); /* * Inclui um elemento no conjunto */ void conj_inclui(Conjunto *c, int e); /* * Remove um elemento do conjunto */ void conj_remove(Conjunto *c, int e); /* * Verifica se um elemento pertence ao conjunto */ int conj_pertence(Conjunto *c, int e); /* * Testa se o conjunto e vazio */ int conj_vazio(Conjunto *c); /* * Retorna um novo conjunto que e a uniao dos * dois conjuntos dados * - se os conjuntos tem limites diferentes, * o conjunto uniao tera o maior limite */ Conjunto *conj_uniao(Conjunto *c1, Conjunto *c2); /* * Retorna um novo conjunto que e a intersecao dos * dois conjuntos dados * - se os conjuntos tem limites diferentes, * o conjunto intersecao tera o menor limite */ Conjunto *conj_inter(Conjunto *c1, Conjunto *c2); /* * Imprime os valores que pertencem a um conjunto */ void conj_imprime(Conjunto *c);