숫자를 하나씩 순차적으로 정렬하는 간단한 프로그램을 작성한 다음 하나씩 트리에 삽입합니다. 내 문제는, 내가 참조 할 수있는 호출 형식으로 아래의 함수를 변경할 수 없기 때문에 루트 자식을 삽입 할 수 없습니다.C - Reference by Call
아래 매개 변수는 루트의 주소 값을 유지해야합니다.
void insertNode(int data, node *q, node *parent){
if(q == NULL){
node *p = createNode(data);
p -> parent = parent;
p -> key = generateKey(p);
int i;
for(i = 0;table[i][1] != 0;i++);
table[i][1] = p -> data;
table[i][0] = p -> key;
q = p;
}
else if(q -> left > q -> right || q -> left == q -> right){
q -> right++;
insertNode(data, q -> rightChild, q);
}
else if(q -> right > q -> left){
q -> left++;
insertNode(data, q -> leftChild, q);
}
}
'->'주위의 공백이 너무 추합니다. – ThiefMaster
@ThiefMaster 이것은 더 나쁩니다. 질문은 각'->'주위에 두 개의 *** 공백이 있습니다. –
초보자에게 흔히있는 실수이며 이전에이 질문에 답을 얻었으나 문제에 대한 평소와는 달리 +1합니다. 너 너무 가까웠다. – dmckee