티스토리 뷰
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
typedef struct node NODE;
struct node
{
int key;
NODE *parent;
NODE *left;
NODE *right;
};
NODE *root;
NODE* node_search(int key, NODE *root)
{
NODE *s;
s = root->left;
while(key != s->key && s != NULL)
{
if(key < s->key )
s = s->left;
if(key > s->key )
s = s->right;
}
if(s == NULL)
return NULL;
else
return s;
}
NODE * node_insert(int key)
{
NODE *p,*s;
p = root;
s = root->left;
while(s != NULL)
{
p = s;
if( key < s->key )
s = s->left;
if( key > s->key )
s = s->right;
}
if( (s = (NODE*)malloc(sizeof(NODE))) == NULL)
return NULL;
s->key = key;
s->left = NULL;
s->right = NULL;
if( key <p->key || p == root)
p->left = s;
else
p->right = s;
return s;
}
void init()
{
root = (NODE*)malloc(sizeof(NODE));
root->left = root->right = NULL;
}
void Insert_node(int key)
{
if(!root)
{
root = (NODE*)malloc(sizeof(NODE));
root->left = root->right = NULL;
root->key = key;
root->parent = NULL;
}
else
{
NODE *par,*tmp;
par = tmp = root;
while(tmp != NULL)
{
if( tmp->key == key)
break;
if( tmp->key > key )
{
if( tmp->left == NULL )
{
par = tmp;
tmp = tmp->left;
tmp = (NODE*)malloc(sizeof(NODE));
tmp->parent = par;
par->left = tmp;
tmp->left = tmp->right = NULL;
tmp->key = key;
break;
}
else
{
tmp = tmp->left;
}
}
if( tmp->key < key )
{
if( tmp->right == NULL )
{
par = tmp;
tmp = tmp->right;
tmp = (NODE*)malloc(sizeof(NODE));
tmp->parent = par;
par->right = tmp;
tmp->right = tmp->left = NULL;
tmp->key = key;
break;
}
else
{
tmp = tmp->right;
}
}
}
}
}
void Visit_Node(NODE* node)
{
printf("%d\n",node->key);
}
void Display_Node(NODE* node)
{
if( node != NULL )
{
Display_Node(node->left);
Visit_Node(node);
Display_Node(node->right);
}
}
bool Delete_Node(int key)
{/* 생략 */}
void main()
{
Insert_node(4);
Insert_node(1);
Insert_node(1);
Insert_node(5);
Insert_node(13);
Insert_node(41);
Insert_node(112);
Insert_node(61);
Insert_node(11);
Display_Node(root);
//printf("%d\n%d\n%d\n%d\n",root->key,root->left->key,root->right->key);
//printf("%d\n%d\n%d\n%d\n",root->key,root->left->key,root->left->left->key);
}
'프로그래밍 언어 > 프로그래밍' 카테고리의 다른 글
유니티 점프 (0) | 2016.06.08 |
---|---|
해시 테이블 (hash table) (0) | 2009.01.18 |
연결 리스트 (문장<이름>) (0) | 2009.01.18 |
연결 리스트 (한 글자) (0) | 2009.01.18 |
퀵정렬 (0) | 2009.01.18 |
- Total
- Today
- Yesterday
- 지원
- 유니티
- android
- 민경훈
- 청년정책
- 서울시
- Linked List
- 아이유
- 청년
- 문화
- 공연
- 청년몽땅정보통
- 신청
- 안드로이드
- 연결 리스트
- 혁오
- 김광석
- 버즈
- 임창정
- 뜻밖의 샤워
- 발생후
- 김광석 코드
- 서울특별시
- 축제
- 유머
- 태풍발생
- 지원금
- 공모전
- 고양이 깜놀
- 김광석 기타 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |