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); }