我正在制作员工链表。是否所有常见的东西,添加,搜索和更新。我试图让删除功能工作,但在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
答案 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;