int main(int argc,char* argv[]) { int i=0; BTree* tree=BTree_Create(); BTreeNode n1={'A',NULL,NULL}; BTreeNode n2={'B',NULL,NULL}; BTreeNode n3={'C',NULL,NULL}; BTreeNode n4={'D',NULL,NULL}; BTreeNode n5={'E',NULL,NULL}; BTreeNode n6={'F',NULL,NULL}; BTree_Insert(tree,&n1,0x0,0,0); BTree_Insert(tree,&n2,0x0,1,0); BTree_Insert(tree,&n3,0x1,1,0); BTree_Insert(tree,&n4,0x00,2,0); BTree_Insert(tree,&n5,0x2,2,0); BTree_Insert(tree,&n6,0x2,3,0); printf("The Height of Tree: %d \n",BTree_Height(tree)); BTree_Display(tree,printf_data,4,'-'); //BTreeNode* node=((BTreeHeader*)tree)->root; printf("\nPreOrder_traversal:\n"); preOrder_traversal(((BTreeHeader*)tree)->root); printf("\nMidOrder_traversal:\n"); midOrder_traversal(((BTreeHeader*)tree)->root); printf("\nPostOrder_traversal:\n"); postOrder_traversal(((BTreeHeader*)tree)->root); return 0; }
int main(int argc, char *argv[]) { BTree* tree = BTree_Create(); BTreeNode* current = NULL; BTreeNode* p = NULL; SeqList* list = NULL; int i = 0; struct Node n1 = {{NULL, NULL}, 'A'}; struct Node n2 = {{NULL, NULL}, 'B'}; struct Node n3 = {{NULL, NULL}, 'C'}; struct Node n4 = {{NULL, NULL}, 'D'}; struct Node n5 = {{NULL, NULL}, 'E'}; struct Node n6 = {{NULL, NULL}, 'F'}; BTree_Insert(tree, (BTreeNode*)&n1, 0, 0, 0); BTree_Insert(tree, (BTreeNode*)&n2, 0x00, 1, 0); BTree_Insert(tree, (BTreeNode*)&n3, 0x01, 1, 0); BTree_Insert(tree, (BTreeNode*)&n4, 0x00, 2, 0); BTree_Insert(tree, (BTreeNode*)&n5, 0x02, 2, 0); BTree_Insert(tree, (BTreeNode*)&n6, 0x02, 3, 0); printf("Full Tree: \n"); BTree_Display(tree, printf_data, 4, '-'); printf("Thread via List:\n"); list = SeqList_Create(BTree_Count(tree)); thread_via_list(BTree_Root(tree), list); for(i=0; i<SeqList_Length(list); i++) { printf("%c, ", ((struct Node*)SeqList_Get(list, i))->v); } printf("\n"); printf("Thread via Left:\n"); current = BTree_Root(tree); thread_via_left(current, &p); while( current != NULL ) { printf("%c, ", ((struct Node*)current)->v); current = current->left; } printf("\n"); BTree_Destroy(tree); return 0; }