6, 10, 2, 8, 4 é um conjunto; 2, 4, 6, 8, 10 é um conjunto dos mesmos números inteiros, dispostos em ordem crescente. Na Matemática, um conjunto possui elementos únicos (elementos distintos), ou seja, nenhum elemento ocorre mais de uma vez. Além disso, um multiset é um conjunto, onde qualquer elemento pode ocorrer mais de uma vez. 6, 6, 10, 2, 2, 8, 4, 4, 4 é um multiconjunto. 2, 2, 4, 4, 4, 6, 6, 8, 10 é o mesmo multiconjunto, mas com os elementos dispostos em ordem crescente. Este artigo não trata de multiset. Ele lida com a estrutura de dados C ++ chamada, set.
Um mapa no software é como uma matriz, mas é uma matriz com duas colunas em vez de uma. A primeira coluna contém as chaves e a segunda coluna contém os valores. Cada linha é um par, formando um par chave / valor. Uma chave está diretamente relacionada ao seu valor.
Um exemplo de mapa é 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. O primeiro par chave / valor inserido aqui é 'c', 3, onde 'c' é a chave e 30 é o valor. Este mapa não está ordenado por chaves. Ordenar este mapa por chaves produz 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Observe que pode haver valores duplicados, mas não chaves duplicadas. Um mapa ordenado é um mapa ordenado por chaves.
Um multiset está para um conjunto, assim como um multimapa está para um mapa. Isso significa que existem mapas com chaves duplicadas. Um exemplo de multimapa é 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. E, como afirmado acima, este artigo não trata de multimapa, mas sim da estrutura de dados C ++ chamada, map.
Em C ++, uma estrutura de dados é uma estrutura com propriedades (membros de dados) e métodos (funções de membro). Os dados da estrutura são uma lista; um conjunto é uma lista; um mapa é uma lista de pares chave / valor.
Este artigo discute os conceitos básicos de conjuntos e mapas em C ++ e, para entender melhor este artigo, o leitor deve ter um conhecimento básico de C++.
Conteúdo do artigo:
- Classe e seus objetos
- Criação de um conjunto ou mapa
- Iterator Basics
- Acesso ao elemento para conjunto e mapa
- Ordem dos elementos em um conjunto ou mapa
- Outras funções de membro comumente usadas
- Conclusão
Classe e seus objetos:
Em C ++, o conjunto, o mapa e outras estruturas semelhantes são chamados de contêineres. Uma classe é uma unidade generalizada com membros de dados, que são variáveis e funções de membro relacionadas. Quando os membros de dados recebem valores, um objeto é formado. No entanto, um objeto é formado em um processo chamado de instanciação. Como uma classe pode levar a diferentes valores para as mesmas variáveis de membro de dados, diferentes objetos podem ser instanciados a partir da mesma classe.
Em C ++, um conjunto inutilizável é uma classe, assim como um mapa inutilizável. Quando um objeto é instanciado a partir do conjunto inutilizável ou do mapa inutilizável, o objeto se torna a estrutura de dados real. Com as estruturas de dados de conjunto e mapa, o membro de dados principal é uma lista. Bem, o conjunto e o mapa formam um grupo de contêineres chamados contêineres associativos ordenados. O conjunto não ordenado e o mapa não ordenado também existem, mas infelizmente não são abordados neste artigo.
Criação de um conjunto ou mapa:
Instanciar um conjunto de sua classe de conjunto é criar um conjunto; instanciar um mapa de sua classe de mapa é criar um mapa. O objeto assim criado recebe um nome de escolha do programador.
Para criar um conjunto, o programa deve começar com:
#incluir
#incluir
usando namespace std; Observe a diretiva “#include ”, Que inclui a biblioteca de conjuntos que possui a classe de conjunto a partir da qual as estruturas de conjunto de dados serão instanciadas.
Para criar um mapa, o programa deve começar com:
#incluir
#incluir