Ir ao conteúdo

Posts recomendados

Postado

Olá preciso implementar o header abaixo para um trabalho da faculdade, porém não entendi bem o conceito de sentinela.

Ele aponta para a posição atual ou para o fim da lista?

Se a lista é circular ela não deveria ter um fim não é mesmo?

 

Obrigado pela atenção de todos!!!

 

 

#ifndef MULTICONJUNTO_H
#define MULTICONJUNTO_H

#include <string>

using std::string;

struct No;

// Implementa um conjunto com repetição de elementos.
class Multiconjunto {
 public:
  // Cria um conjunto vazio.
  Multiconjunto();

  // Cria um conjunto unitário contendo s;
  Multiconjunto(string s);

  // Cria um conjunto com os mesmos elementos de x;
  Multiconjunto(const Multiconjunto& x);

  // Testa se o conjunto é vazio.
  bool vazio() const;

  // Retorna a cardinalidade do conjunto.
  int cardinalidade() const;

  // Testa se s pertence ao conjunto.
  bool pertence(string s) const;

  // Retorna o número de ocorrências de s no conjunto.
  int ocorrencias(string s) const;

  // Retorna um elemento qualquer do conjunto.
  // RECONDIÇÃO: o cojunto tem pelo menos um elemento.
  string elemento() const;

  // Retorna a união de *this e x.
  Multiconjunto uniao(const Multiconjunto& x);
  Multiconjunto uniao(string s) {return uniao(Multiconjunto(s));}
  
  // Retorna a interseção de *this e x.
  Multiconjunto intersecao(const Multiconjunto& x);

  // Retorna a diferença entre *this e x.
  Multiconjunto operator-(const Multiconjunto& x);
  Multiconjunto operator-(string s) {return *this - Multiconjunto(s);}

  // Testa se *this tem exatamente os mesmos elementos de x.
  bool operator==(const Multiconjunto& x) const;

  // Faz com que *this tenha os mesmos elementos de x.
  void operator=(const Multiconjunto& x);

  // Desaloca toda a memória alocada para o conjunto.
  ~Multiconjunto();
  
 private:
  No* fim_;  // Ponteiro para o sentinela da lista encadeada.
  int cardinalidade_;  // Número de elementos no conjunto;

  friend class Teste;
};

#endif  // MULTICONJUNTO_H

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!