[英]Segmentation Fault in C++: sorted linked list
我正在编写一个 function 以在 C++ 的排序链表中插入一个数字。 但是,当我运行它时,我得到了“分段错误”。 谁能解释为什么会这样?
Node * insertInSorted(Node * head, int data)
{
Node * curr = head;
Node * a = new Node(data);
while(curr->next->data < a->data || curr->next != NULL)
{
curr = curr->next;
}
Node * temp = curr->next;
curr->next = a;
a->next = temp;
return head;
}
while(curr->next->data < a->data || curr->next != NULL)
这显然是错误的。 你想要的条件是:
while(curr->next != NULL && curr->next->data < a->data)
data
的data
。 function 仍然无法正常工作(你永远不会在head
之前插入任何东西,即使那是应该发生插入的地方),但至少你的崩溃应该消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.