Следующий код работает для сортировки списка (Питер, 10) (Иоанн, 32) (Мэри, 50) (Кэрол, 31). Упорядоченные списки: Список 1: (Кэрол, 31) (Кэрол, 31) (Джон, 32) (Мария, 50 лет), однако Питер потерян и Кэрол повторяется, пожалуйста, помогите подсказать, где я ошибаюсь. Что мне нужно изменить в l oop, чтобы получить правильное значение
LinkedList& LinkedList::order()
{
int swapped;
Node *temp;
Node *lptr = NULL;
temp=head;
// Checking for empty list
do
{
swapped = 0 ;
current = head;
while (current->get_next() != lptr)
{
if (current->get_data() > current->get_next()->get_data())
{
temp->set_Node(current->get_data());
current->set_Node(current->get_next()->get_data());
current->get_next()->set_Node(temp->get_data());
swapped = 1;
}
current = current->get_next();
}
lptr = current;
}
while (swapped);
return *this;
}