Сортировка односвязного списка. С++

Уже долгое время не могу понять, как отсортировать односвязный список. Пробовала много методов, но все никак. Сортировать нужно по строкам, задача не на классах. Помогите пожалуйста! Вот моя структура :

struct String{
    string str;
    String *next;
};

Ответы (1 шт):

Автор решения: MBo

Проще всего сделать сортировку выбором с созданием нового списка - просто проходите по списку, запоминая величину минимума и предшествующий ему узел, и переносите этот минимальный узел в новый список. Повторяете это, пока первый список не кончится.

→ Ссылка