リンクリストを並べ替えようとしています。頭というノードがあり、次のノードなどを指しています。
しかし、ノードが持つ値でノードを並べ替えようとすると、ifステートメントの内容が出力されるので、並べ替えが機能しますが、リンクリストが返されません。どこで私は間違えましたか?
Node* head;
void sortlist(){
Node * runner = head;
Node * runner2;
for(runner = head; runner->next != NULL; runner = runner->next){
for(runner2 = runner->next; runner2->next != NULL; runner2 = runner2->next){
if(runner->freq < runner2->freq){
cout<< runner->freq<< " is LT "<<runner2->freq<< endl;
Node * temp = runner;
runner = runner2;
runner2 = temp;
}
}
}
head = runner;
}
最初のノードのみを取得しています。