Neste problema deverá apenas submeter uma classe MyIntSet (e não um programa completo).
A sua tarefa é criar uma classe MyIntSet, que representa um conjunto de números inteiros, implementando o seguinte interface:
// Interface que define o TAD conjunto de números inteiros public interface IntSet { public boolean contains(int x); // Retorna true se x está no conjunto public boolean add(int x); // Adiciona x ao conjunto public boolean remove(int x); // Remove x do conjunto public int size(); // Retorna o numero de elementos do conjunto public void clear(); // Limpa o conjunto (torna-o vazio) }
Um exemplo de utilização seria:
public class TestSet { public static void main(String[] args) { IntSet s = new MyIntSet(); // Chama o construtor padrão s.clear(); System.out.println(s.size()); // Escreve "0" System.out.println(s.add(1)); // Escreve "true" System.out.println(s.add(5)); // Escreve "true" System.out.println(s.add(7)); // Escreve "true" System.out.println(s.add(1)); // Escreve "false" System.out.println(s.size()); // Escreve "3 System.out.println(s.remove(5)); // Escreve "true" System.out.println(s.remove(5)); // Escreve "false" System.out.println(s.size()); // Escreve "2" System.out.println(s.contains(1)); // Escreve "true" System.out.println(s.contains(2)); // Escreve "false" s.clear(); System.out.println(s.size()); // Escreve "0" } }
Deverá apenas submeter a classe MyIntSet. O Mooshak irá criar várias instâncias da sua classe usando o construtor padrão (como mostrado no exemplo de utilização) e irá fazer uma série de testes aos métodos por si implementados.
É garantido que o conjunto nunca terá mais do que 100 números diferentes, e que todos os números serão inteiros positivos entre 1 e 1000 (inclusive).
Última actualização: