【发布时间】:2016-03-22 04:42:57
【问题描述】:
我创建了一个链表,我的目标是删除链表中的重复数据。每个节点中只有一个数据和指针组件。该算法可能并不完美,但我担心的是为什么我在尝试删除节点时在 Xcode 中收到错误SIGABRT。当if 条件为真时,代码中会出现错误。不知道SIGABRT 是什么意思。
void LinkedList::deleteRepetition(const LinkedList& list)
{
node* temp_value = nullptr;
node* traverser = nullptr;
temp_value = head;
traverser = head;
for (int i = 0; i < NODES; i++)
{
for (int j = 0; j < NODES - i; j++)
{
traverser = temp_value->next;
if (traverser->data == temp_value->data)
{
delete traverser;
}
}
traverser = temp_value;
temp_value = temp_value->next;
}
}
【问题讨论】:
-
你的意思是SIGABRT?
-
'SIGABRT' 或 'SIGNAL6' 表示内存损坏或访问损坏的内存。
-
我希望你这样做只是为了学术目的)
标签: c++ function linked-list