Поменять объекты связанного списка - PullRequest
0 голосов
/ 10 февраля 2020

Следующий код работает для сортировки списка (Питер, 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;

}

...