【发布时间】:2017-02-14 11:21:12
【问题描述】:
我正在尝试对链表进行排序。
代码不能正常工作,它跳过了一些节点来检查如何在对节点进行排序时最小化问题。
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进行排序
标签: c++ sorting linked-list bubble-sort