我尝试按如下方式交换链表中的两个节点:
void swapTwo(course*& first, course*& second)
{
auto temp = first;
first = second;
second = temp;
second->next = first->next; // error right here due to self-referencing
first->next = second;
}
我收到错误,因为second-> next已经自我引用了。有一个优雅的解决方案吗?我可以创建2个课程元素并重新构建第一个和第二个,但这看起来很粗鲁。谢谢!
答案 0 :(得分:1)
您需要考虑多个方案。