struct linkedlist{ int data; struct linkedlist *next; struct linkedlist *prev; }; typedef struct linkedlist LINKEDLIST; typedef LINKEDLIST *LINK; void heapTree( LINK *node, int data ){ if( *node == NULL ){ *node = newList(data); }else{ if( (*node)->data > data ){ heapTree( &(*node)->prev , data ); }else{ heapTree( &(*node)->next , data ); } } } void preorder( LINK node ){ if(node->data != NULL) printf("%d",node->data); if(node->prev != NULL) preorder(node->prev); if(node->next != NULL) preorder(node->next); } void postorder( LINK node ){ if(node->prev != NULL) preorder(node->prev); if(node->next != NULL) preorder(node->next); if(node->data != NULL) printf("%d",node->data); } void inorder( LINK node ){ if(node->prev != NULL) preorder(node->prev); if(node->data != NULL) printf("%d",node->data); if(node->next != NULL) preorder(node->next); } void main(void){ LINK root = NULL;//= (LINK)malloc(sizeof(LINKEDLIST)); heapTree(&root,11); heapTree(&root,10); heapTree(&root,12); printf(" PREORDER : "); preorder(root); printf(" POSTORDER : "); postorder(root); printf(" INORDER : "); inorder(root); }


'Tip & Tech > 적절한관계' 카테고리의 다른 글

[2 - 1 주차] 포인터를 이용한 리스트  (0) 2013.04.10
[1주차] c언어 기본  (0) 2013.04.10
posted by 알 수 없는 사용자