C++ Переделать функцию для STL list контейнера
Написала функцию, которая ищет определенный элемент в одностороннем связанном списке и если его нет - добавляет его в начало списка. Было бы интересно узнать, как переделать данную функцию для STL list контейнера.
bool push_front(elem* &p, elem* &first) {
elem *pointer = first;
while (pointer) {
if (pointer->val == p->val) {
return false;
}
pointer = pointer->next;
}
p->next = first;
first = p;
return true;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Что-то вроде
int value;
list<int> L;
if (find(L.begin(),L.end(),value) == L.end())
L.push_front(value);
Но list - он двусвязный; если хотите односвязный - замените list на forward_list.