PO2023: Wejściówka na Lab.14

Napisz klasę reprezentującą kontener typu zbiór z powtórzeniami. Jest to struktura danych, w której nowe dane dopisywane są zawsze, nawet jeżeli wielokrotnie dodawana jest ta sama wartość, a porządek danych nie jest ustalony i może być dowolny. Kontener przechowuje obiekty typu string (dodaj w nagłówku pliku instrukcję #include <string>).

Do przechowywania danych w kontenerze wykorzystaj dowolną, najkorzystniejszą twoim zdaniem strukturę danych (np. dynamicznie zaalokowana tablica, albo lista dynamiczna..). Zobacz, jak został zaimplementowany kontener typu Tablica na slajdach 266-268 wykładu 12 oraz pełny kod tej klasy na stronie www (w sekcji: Program #11):
https://ktrojanowski.blog.uksw.edu.pl/programowanie-obiektowe/kody-programow-po/
i ewentualnie skorzystaj z tych składowych, które uznasz za użyteczne.

Kontener powinien udostępniać metody: insert i remove, które odpowiednio dodają lub usuwają dane do lub z kontenera. Wartość podana w argumencie wywołania metody remove identyfikuje dane do usunięcia. W przypadku podania wartości, która występuje w kontenerze wielokrotnie, za jednym wywołaniem remove usuwane są od razu wszystkie duplikaty. Natomiast jeżeli użytkownik zażąda usunięcia wartości, która nie jest przechowywana w kontenerze, nie dzieje się nic. Dodaj też do kontenera metodę exists, która zwraca true, jeżeli wartość, podana w argumencie wywołania, występuje w kontenerze w przynajmniej jednym egzemplarzu, natomiast false – w przeciwnym przypadku.

Zademonstruj poprawne działanie kontenera, dodając do niego oraz odejmując kilka elementów i sprawdzając ich obecność w kontenerze, oraz na koniec usuwając cały, niepusty kontener.

Przetestowany, działający program (tylko plik z kodem źródłowym) uploaduj do https://e.uksw.edu.pl jako rozwiązanie zadania „Wejściówka” w sekcji „Temat 14”.

Możliwość komentowania jest wyłączona.