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