0
n-tree 검색을 위해 함수를 만들려고하고 있지만 잘 작동하지 않습니다. 레벨 2 이후에 잘못된 노드를 반환합니다.n-tree 검색 함수
여기 노드 구현
typedef struct node
{
char name[30];
int year;
struct node* ptr;
struct node* p[10];
} node;
입니다 그리고 함수
node *search(node *p, char* name, int year)
{
int i, n;
if(p == NULL)
return (NULL);
if((!strcmp(p->name, name) && (p->year == year))
return (p);
n = number(p); \\returns number of childs
for(i = 0; i < n; i++)
if(search(p->p[i], name, year))
return (p->p[i]);
}
'for' 루프'search'가'return'에 도착하면 어떻게됩니까? 이 사건을 처리하지 않았습니다. 또한'ptr'은 코드에 언급되지 않았기 때문에 무엇을 사용합니까? – Sean
돌아 오면 무엇을 의미합니까? ptr은 부모 노드에 대한 포인터입니다. 다른 함수에 필요합니다. – tripleq