이진트리에 관한 질문입니다(파일입출력)
한별
질문 제목 : 이진트리에 관한 질문입니다
이진트리에서 각노드 연결
질문 내용 : data.txt에는 1,2,3,4,5,6,7,8,9,10이 저장되어있습니다 이 datat.txt의 파일을 불러와 완전이진트리를 만들어야 하는데 각 노드를 어떻게 연결해줘야 할지 모르겠습니다ㅠㅠ 조언부탁드립니다ㅠㅠ
#includestdio.h
#includestdlib.h
//구조체 treenode를 정의한다
typedef struct treenode
{
int data; //데이터를 받을 정수형 변수
struct treenode *left, *right; //왼쪽과 오른쪽을 연결할 링크
}treenode;
int main()
{
treenode *n1; //새로운 노드를 생성할 구조체
//treenode *top; //노드를 가르켜 이동하기 위한 구조체
treenode *header = null; //첫 번째 노드를 가리키고 있을 구조체
int temp; //data.txt의 데이터들을 저장할 임시 변수
file *fp = fopen(data.txt,r); //파일을 읽기모드로 개방
if(fp==null)
{
printf(파일 개방 실패!\n);// fp가 null일 때 파일 개방 실패 에러메세지를 출력함
exit(1);
}
while(!feof(fp))
{
fscanf(fp,%d, &temp);
n1 = (treenode *)malloc(sizeof(treenode)); //트리 노드를 동적할당 하여 생성한다
n1-data = temp; //n1의 data에 data.txt에서 읽어온 값을 저장한다
n1-left = null; //n1의 왼쪽 링크에 null을 저장한다
n1-right = null; //n1의 오른쪽 링크에 null을 저장한다
}
return 0;
}