删除节点后打印结构的LinkedList时出错

时间:2015-04-28 17:09:48

标签: c linked-list nodes

我正在制作员工链表。是否所有常见的东西,添加,搜索和更新。我试图让删除功能工作,但在Node被删除之后,我无法打印链表来查看。这是完整的代码,以及错误消息。感谢您花时间阅读本文。

LinkedList.exe中0x0FA4FB53(msvcr120d.dll)的未处理异常:0xC0000005:访问冲突读取位置0xFEEEFEEE。

$ou = Get-ADOrganizationalUnit -Filter * | Where {($_.Name -eq $OuName) -and ($_.DistinguishedName -like "*<Distinguished Name of the parent OU>")} | select -First 1

2 个答案:

答案 0 :(得分:1)

removeEmployee(char* empID)函数中的


案例: 当要删除的节点不是头节点时;

此处,首先您必须保存previous_node delete_node的指针,然后将previous_node->next设置为delete_node->next并删除delete_node

您尚未保存previous_node的指针。

empBeforeEmptoDelete->next = empToDelete->next;

答案 1 :(得分:1)

问题在于

empBeforeEmptoDelete = empIterator->next;
empIterator = empIterator->next;

所以empBeforeEmptoDelete 指向上一条记录。改为

empBeforeEmptoDelete = empIterator;
empIterator = empIterator->next;