Este trabalho visa implementar um Tipo Abstrato de dado (TAD) “conjunto de inteiros” usando um bitmap.
Você deve implementar um TAD “conjunto de números inteiros” usando um vetor de flags, de forma similar aos bitmaps.
Um bitmap, ou bit array, é um vetor de bits nos quais os índices representam números inteiros e os bits representam valores booleanos (verdadeiro/falso). Dado um conjunto C representado por um bitmap B, se B[i] == true então “i” pertence a C.
As seguintes operações devem ser suportadas:
cria (conjunto)
: cria um novo conjuntodestrói (conjunto)
: destrói o conjuntoinsere (conjunto, item)
: insere um novo item no conjuntoretira (conjunto, item)
: retira o item do conjuntopertence (conjunto, item)
: informa se o item está no conjuntovazio (conjunto)
: informa se o conjunto está vaziocard (conjunto)
: informa a cardinalidade (número de elementos) do conjuntocontem (c1, c2)
: informa se o conjunto c1 contém o conjunto c2igual (c1, c2)
: informa se o conjunto c1 é igual ao conjunto c2união (c1, c2)
: calcula a união dos conjuntos c1 e c2interseção (c1, c2)
: calcula a interseção dos conjuntos c1 e c2Os arquivos necessários para desenvolver este trabalho estão neste arquivo. Eles são:
set.h
: arquivo de cabeçalho com os protótipos das funções (não deve ser alterado).set.c
: arquivo que implementa as operações sobre os conjuntos (“esqueleto” a completar).tp5.c
: código que testa a biblioteca (não deve ser alterado).tp5.txt
: saída do código que testa a biblioteca.makefile
: arquivo do utilitário “make” para compilar seu código.
Entregue um único arquivo tp5.tgz
que contenha todos os arquivos do projeto.
Critérios de avaliação: