void List::insert (Data * data)
{
    Data * t = first;
    while (t != nullptr && t->name <= data->name)
        t = t->next;
    if (t != nullptr)
        insertBefore (t, data);
    else
        insertLast (data);
}