Datenstrukturen in c++: Set (Menge)

Words
73
Reading
1 min
Listen
Play
5y

Eine Menge (Set) ähnelt auf den ersten Blick einer Liste. Man kann dynamisch neue Elemente einfügen und entfernen. Allerdings haben Sets keine Indizes, was bei einer Liste der Fall ist. Das bedeutet, man kann ein Set nicht mit einem Index ansprechen. Dafür benötigt man einen Iterator, der alle Einträge "durchläuft". Weiterhin sind keine Duplikate erlaubt. Man kann auch einfacher Mengenoperationen auf Sets ausführen, wie z.B. Vereinigung, Differenz und Schnittmenge.

Die Theorie zu Sets: @ozelot47/datenstrukturen-das-set-menge

#include 
#include 

void set(){
    std::set<int> containerA;
    containerA.insert(1);
    containerA.insert(2);
    containerA.insert(3);
    containerA.insert(4);
    containerA.insert(5);

    std::set<int> containerB;
    containerB.insert(3);
    containerB.insert(6);
    containerB.insert(7);
    containerB.insert(6); // duplicate can't be added

    /* add all elements from B into A */
    for(auto it = containerB.begin(); it != containerB.end(); it++){
        containerA.insert(*it);
    }

    /* A set doesn't contain duplicates and has no indices.
       An iterator is needed or a foreach loop */
    for(auto& elem : containerA){
        std::cout << elem << "\n";
    }
}

int main(){
    set();
    return 0;
}
Datenstrukturen in c++: Set (Menge) | Ecency