1
나는 C를 사용하여 간단한 AVL 트리 구현을 작성하고 있습니다. 여러 부분에서 내 코드에 문제가 있습니다. 때로는이 오류가 발생합니다. 간혹 역 참조가 제대로 작동하는 경우도 있습니다. 여기불완전한 타입 (struct 노드)에 대한 포인터를 역 참조
내 구조체 노드 보이는 방법입니다
여기struct Node
{
int data;
struct Node *left;
struct Node *right;
int height;
};
가 나는 역 참조 오류 곳 (정확히 에있는 경우 (데이터 < (P-> 데이터)))
struct node* search(struct node* p, int data)
{
if (!p)
return NULL;
if (data < (p->data))
return search(p -> left, data);
else if (data > p -> data)
return search(p -> right, data);
else
return p;
}
또한 여기
:
struct Node remove_min(struct Node *x)
{
if (x->left == NULL)
return x->right;
x->left = deleteMin(x->left);
return x;
}
도움을 주시면 감사하겠습니다. 감사합니다
같은 파일에서'struct Node' 정의와이 오류를보고있는 코드가 있습니까? 그렇지 않다면, 코드가 어떻게 구성되었는지,'# include' 문이 어떻게 생겼는지 등에 대해 더 명확하게 표현할 수 있습니까? 이상적으로는 문제를 완벽하게 보여줄 간단한 재생기를 제공 할 수 있습니다. – larsks
당신의 코드는 어디에 있습니까, 당신이 전화를 걸 때, 나는 당신의 코드를 의미합니까? –
답변으로 전체 코드를 게시했습니다. 감사합니다. 감사합니다. –