1
所以我一直在努力這一段時間,我似乎無法弄清楚什麼是錯的。這個addSorted函數在排序後的數組的可尊敬位置添加了所有正確的值,但是當它進入列表的前面時,程序將不會終止,並且不會顯示任何結果。任何人有任何線索可能是爲什麼?排序鏈接列表和addSorted函數問題。
void addSorted(Data * newData){
if(head == NULL) {
head = new LinkNode(newData);
return;
}
LinkNode * current = head;
LinkNode * previous = NULL;
while(current != NULL) {
if(newData->compareTo(current->data) == -1) {
LinkNode * newNode = new LinkNode(newData);
newNode->next = current;
if(previous == NULL) {
current->next = newNode;
}
else {
newNode->next = previous->next;
previous->next = newNode;
}
return;
}
previous = current;
current = current->next;
}
previous->next = new LinkNode(newData);
}
是的。有用。非常感謝。我只需要將current-> next = newNode更改爲head = newNode。 :))))))))))))) – BleuCheese
您可能想要找到一隻泰迪熊來描述問題所在,然後您可能會發現大部分錯誤。我使用同事而不是泰迪熊,結果相同。 :) –
http://c2.com/cgi/wiki?RubberDucking,http://en.wikipedia.org/wiki/Rubber_duck_debugging – sehe