left child와 right child를 가진 트리 구조.
[소스코드]
typedef struct _Node Node; struct _Node{ Node* left_child; int data; Node* right_child; }; void insert_node(Node** root, int data) { if(*root == NULL) { Node* node = (Node*)malloc(sizeof(Node)); node->data = data; node->left_child = NULL; node->right_child = NULL; (*root) = node; } else if(data < (*root)->data) { insert_node(&((*root)->left_child), data); } else if(data >= (*root)->data) { insert_node(&((*root)->right_child), data); } } int main() { Node* root = NULL; insert_node(&root, 5); insert_node(&root, 8); insert_node(&root, 4); insert_node(&root, 2); insert_node(&root, 1); insert_node(&root, 3); insert_node(&root, 9); insert_node(&root, 6); insert_node(&root, 7); }
'Develop' 카테고리의 다른 글
이진 트리_중위 순회(Inorder Traversal) (0) | 2014.02.11 |
---|---|
이진 트리_전위 순회(Preorder Traversal) (0) | 2014.02.11 |
링크드 큐(Linked Queue) (0) | 2014.02.11 |
링크드 스택(Linked Stack) (0) | 2014.02.11 |
원형 큐(Circular Queue) (0) | 2014.02.10 |