Criar Conjunto e Adicionar Elementos
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 36 de 56.
Agora que você sabe o que é um set, vamos aprender como criar um e adicionar elementos a ele. Para adicionar elementos a um std::set, você usa o método .insert().
Veja como criar um conjunto vazio e adicionar elementos:
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);A característica mais importante dos sets é que eles rejeitam duplicatas automaticamente. Se você tentar inserir o mesmo valor duas vezes, o set permanece inalterado:
numbers.insert(5); // Isso não adicionará outro 5
numbers.insert(5); // Nem issoApós todas essas inserções, seu conjunto conterá apenas três elementos únicos: 2, 5 e 8 (ordenados automaticamente). As tentativas duplicadas de inserir 5 são simplesmente ignoradas, o que é exatamente o que torna os conjuntos tão úteis para manter coleções de dados únicos.
Desafio
FácilCrie um programa que demonstre o recurso de elementos únicos do std::set adicionando vários números inteiros a um conjunto, incluindo valores duplicados, e depois exibindo o tamanho final para provar que as duplicatas são ignoradas automaticamente.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando a quantidade de inteiros a serem inseridos - Em seguida,
ninteiros para serem inseridos no conjunto
Seu programa deve:
- Criar um
std::set<int>vazio - Ler o número de inteiros a serem inseridos
- Usar um loop para ler cada inteiro e inseri-lo no conjunto usando o método
.insert() - Após todas as inserções, imprimir o tamanho final do conjunto usando o método
.size() - Imprimir uma mensagem mostrando quantas tentativas de duplicatas foram ignoradas
Use o seguinte formato de saída exato:
Set size: [final_size]
Duplicates ignored: [number_of_duplicates]O número de duplicatas ignoradas deve ser calculado como a diferença entre o número total de tentativas de inserção e o tamanho final do conjunto. Isso demonstra que os conjuntos mantêm automaticamente a unicidade ao rejeitar valores duplicados, que é sua principal característica para armazenar coleções de elementos únicos.
Folha de consulta
Para criar um conjunto e adicionar elementos, use .insert():
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);Conjuntos rejeitam duplicatas automaticamente - inserir o mesmo valor várias vezes mantém apenas uma cópia:
numbers.insert(5); // Isso não adicionará outro 5
numbers.insert(5); // Nem issoUse .size() para obter o número de elementos únicos no conjunto.
Experimente você mesmo
#include <iostream>
#include <set>
using namespace std;
int main() {
// Leia o número de inteiros a serem inseridos
int n;
cin >> n;
// Crie um conjunto vazio
set<int> mySet;
// TODO: Escreva seu código aqui
// Use um loop para ler n inteiros e inseri-los no conjunto
// Calcule quantos duplicados foram ignorados
// Exiba os resultados
cout << "Set size: " << mySet.size() << endl;
cout << "Duplicates ignored: " << /* calcule os duplicados */ << endl;
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa6Conjuntos (Elementos Únicos)
Apresentando o std::setCriar Conjunto e Adicionar ElementosVerificando ElementosRemovendo ElementosIterando sobre um ConjuntoRecapitulação - Números Únicos