Используя C ++ и не используя функции контейнеров STL, я пытаюсь скопировать значения из одной структуры в другую определенным образом.
У меня есть такая структура (односвязный список), и вот какЯ добавляю в него новые элементы:
struct Node {
Node *next;
std::string name;
std::string surname;
};
void AddElement(Node *&head, const std::string &name, const std::string &surname)
{
head = new Node {head, name, surname};
}
Пример использования:
Node *pointer = nullptr;
AddElement(pointer, "Alex", "Smith");
AddElement(pointer, "Robert", "Johnson");
AddElement(pointer, "George", "Smith");
AddElement(pointer, "Oscar", "Williams");
У меня также есть другая структура:
struct Result {
Result *next;
std::string surname;
};
Я хочу скопировать все "«фамилия» значения из первого списка узлов в новый список результатов только один раз для каждого заданного значения «фамилия».
То есть, если у меня в связанном списке узлов есть такие фамилии: "Smith", "Johnson", "Smith", "Johnson", "Williams"
, я хочу получить"Smith", "Johnson", "Williams"
в моем списке результатов.
Я новичок в C ++, указатели и структуры.Как мне подойти к этому?