Przechowywać gdzieś wprowadzone reprezentacje i postawić warunek. np
jeśli TABLICA -> ZAWIERA element który aktualnie został wprowadzony, to zwrócić informacje, że nie można tego zrobić
Nie wiem jak zapisujesz dane, w jakiej strukturze to trzymasz, to trudno mi doradzić, bo algorytm może być banalny, ale też może być nie co trudniejszy w implementacji dla twojego API
na listach jednokierunkowych
możesz je przeglądać iteratorem, generalnie nie wiem czy C++ ma funkcje wbudowaną, która pozwoliłaby na to, aby na tej liście sprawdzić czy zawiera coś bez iteracji
Jest jeszcze inna opcja, jeśli nie chcesz PRZEGLĄDAĆ CAŁEJ KOLEKCJI, możesz ograniczyć się do analizy TYLKO OSTATNIEGO ELEMENTU W MOMENCIE DODAWANIA -> coś na bazie stosu, dodajesz reprezentacje do kolejki i przy każdym dodawaniu sprawdzasz czy poprzednio dodana już nie istnieje, ale to tez nie rozwiąże problemu dla przypadku
A, B ,A ... więc odpada
Dlatego pozostaje iterator po liście sprawdzający element z tym który pozostał , dobrym sposobem jest użycie funkcji FIND ...
auto it = std::find(lst.begin(), lst.end(), x);
if ( it != lst.end() )
{
//x znaleziono...
}
https://en.cppreference.com/w/cpp/algorithm/find odsyłam