이진 트리 만들려고하는데
라라
질문 제목 : 이진 트리이진 트리 만들기질문 내용 :
이진 트리 만들려고하는데 이론적으로는 어떻게 돌아가는지 알겠는데
소스를 만들려니 막막해서 참;;;; 일단 대충 소스만든게
#include stdio.h
#include stdlib.h
#include string.h
typedef struct tree *treepointer;
typedef struct tree
{
treepointer left;
treepointer right;
int data;
}tree;
void insert(treepointer p, int data);
void print(treepointer p);
void main()
{
treepointer root;
root = (treepointer)malloc(sizeof(tree));
root-data=2;
root-left=null;
root-right=null;
insert(root,4);
insert(root,5);
insert(root-left,14);
insert(root-left,15);
insert(root-left-left,7);
print(root);
}
void insert(treepointer p, int k)
{
treepointer newnode;
newnode = (treepointer)malloc(sizeof(tree));
newnode - data = k;
newnode - left = null;
newnode - right = null;
if( k%2==0)
{
p-left=newnode;
}
else if( k%2==1)
{
p-right=newnode;
}
}
void print(treepointer p)
{
printf(%d\n,p-data);
printf(%d\n,p-left-data);
printf(%d\n,p-right-data);
printf(%d\n,p-left-left-data);
printf(%d\n,p-left-right-data);
printf(%d\n,p-left-left-right-data);
}
이걸 어떻게 좀 반복해서 간단하게 표현할수있을까요 -_-;
대충 검색해서 보니 트리 만들때재귀함수를 사용하는거 같은데
이진 트리 만들때도 재귀함수를 사용해야 할 것 같은데
도무지 방법이 ;;;
대충 숫자정도만 삽입 좀 해볼려고 하는데
방향제시좀 해주세요 ;;
간단한 예라도 들어주시면 감사하겠습니다.