Я пытаюсь сортировать связанный список.Пропущенные узлы при попытке сортировать связанный список
Код не работает должным образом, он пропускает некоторые узлы при проверке того, как минимизировать проблемы при сортировке узлов.
void sortNodes(){
node *parrser = head, *current = NULL;
node*temp;
while (parrser->next!= NULL){
current = head;
while (current->next!= NULL){
// cout << current->no << "next" << current->next->no;
if (current->no > current->next->no){
temp = current->next;
current->next = temp->next;
temp->next = current;
}
else
current = current->next;
}
parrser = parrser->next;
}
}
Пожалуйста, отметьте вопрос с соответствующими языковыми тегами и объясните, что именно неправильно: в каких случаях пропускаются узлы, как вы это проверяете и т. Д. –
связанные списки лучше отсортировать, используя [merge sort] (https: //en.wikipedia.org/wiki/Merge_sort) – sp2danny