Set erstellen & Elemente hinzufügen
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 36 von 56.
Nachdem Sie nun wissen, was ein Set ist, lernen wir, wie man eines erstellt und Elemente hinzufügt. Um Elemente zu einem std::set hinzuzufügen, verwenden Sie die .insert()-Methode.
Hier erfahren Sie, wie Sie ein leeres Set erstellen und Elemente hinzufügen:
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);Das wichtigste Merkmal von Sets ist, dass sie Duplikate automatisch ablehnen. Wenn Sie versuchen, denselben Wert zweimal einzufügen, bleibt das Set unverändert:
numbers.insert(5); // Dies wird keine weitere 5 hinzufügen
numbers.insert(5); // Dies auch nichtNach all diesen Einfügungen wird Ihr Set nur drei eindeutige Elemente enthalten: 2, 5 und 8 (automatisch sortiert). Die doppelten Versuche, 5 einzufügen, werden einfach ignoriert, was Sets so nützlich für die Verwaltung von Sammlungen eindeutiger Daten macht.
Aufgabe
EinfachErstellen Sie ein Programm, das die Eigenschaft der Eindeutigkeit von Elementen in std::set demonstriert, indem es mehrere Ganzzahlen zu einem Set hinzufügt, einschließlich doppelter Werte, und anschließend die endgültige Größe anzeigt, um zu beweisen, dass Duplikate automatisch ignoriert werden.
Die folgenden Eingaben werden bereitgestellt:
- Eine Ganzzahl
n, die die Anzahl der einzufügenden Ganzzahlen darstellt - Anschließend
nGanzzahlen, die in das Set eingefügt werden sollen
Ihr Programm sollte:
- Ein leeres
std::set<int>erstellen - Die Anzahl der einzufügenden Ganzzahlen einlesen
- Eine Schleife verwenden, um jede Ganzzahl einzulesen und sie mit der Methode
.insert()in das Set einzufügen - Nach allen Einfügevorgängen die endgültige Größe des Sets mit der Methode
.size()ausgeben - Eine Nachricht ausgeben, die zeigt, wie viele Duplikat-Versuche ignoriert wurden
Verwenden Sie das folgende exakte Ausgabeformat:
Set size: [final_size]
Duplicates ignored: [number_of_duplicates]Die Anzahl der ignorierten Duplikate sollte als Differenz zwischen der Gesamtzahl der Einfügeversuche und der endgültigen Größe des Sets berechnet werden. Dies zeigt, dass Sets automatisch die Eindeutigkeit wahren, indem sie doppelte Werte ablehnen, was ihr Hauptmerkmal für das Speichern von Sammlungen eindeutiger Elemente ist.
Spickzettel
Um ein Set zu erstellen und Elemente hinzuzufügen, verwenden Sie .insert():
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);Sets lehnen Duplikate automatisch ab – das mehrfache Einfügen desselben Wertes behält nur eine Kopie:
numbers.insert(5); // Dies wird keine weitere 5 hinzufügen
numbers.insert(5); // Dies auch nichtVerwenden Sie .size(), um die Anzahl der eindeutigen Elemente im Set zu erhalten.
Probier es selbst
#include <iostream>
#include <set>
using namespace std;
int main() {
// Lies die Anzahl der einzufügenden Ganzzahlen ein
int n;
cin >> n;
// Erstelle ein leeres Set
set<int> mySet;
// TODO: Schreibe deinen Code hier
// Verwende eine Schleife, um n Ganzzahlen zu lesen und sie in das Set einzufügen
// Berechne, wie viele Duplikate ignoriert wurden
// Gib die Ergebnisse aus
cout << "Set size: " << mySet.size() << endl;
cout << "Duplicates ignored: " << /* Duplikate berechnen */ << endl;
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügen6Sets (Eindeutige Elemente)
Einführung in std::setSet erstellen & Elemente hinzufügenAuf Elemente prüfenElemente entfernenÜber ein Set iterierenZusammenfassung – Eindeutige Zahlen