단순연결리스트에서 특정노드를 삭제 하는방법없을까요?
한봄찬
2023.04.01
질문 제목 : 단순연결리스트 특정노드삭제노드삭제질문 내용 :void delete(listnode *node)
{
int x;
while(node!=null)
{
x=strcmp(node-gender,임성용);
printf(dd);
if(x==0)
{
del_node(&node,null);
}
node=node-link;
}
}int del_node(listnode **phead, listnode *p)
{
listnode *removed;
if( p == null ){
removed = (*phead);
*phead = (*phead)-link;
}
else {
removed=p-link;
p-link = removed-link;
}
free(removed);
return 0;
}
제가만든 노드삭제함수인데 임성용이라는 데이터필드가 있는 노드를 삭제하려는데 실행하면 맨마지막 노드만 남고 전부 삭제되는 군요 원인을 알수 있을까요?
-
VanilLa
네 제가 생각이 짧았네요 다시 올려야겠어요 ㅠㅠ
-
바르고
답을 하는 사람은 컴파일을 해 볼 수 없고 실행시켜서 확인도 불가능하기 때문에 전체 소스를 올리지 않으려면 스스로 해결해야 됩니다.