void stree() {int count=0; int t,i,j; system("reset"); printf("\nEnter the no of nodes"); scanf("%d",&i); int arr[100]; node1 *root; root=NULL; printf("\nenter the elements of tree"); for(j=0;j<i;j++) scanf("%d",&arr[j]); for(j=0;j<i;j++) inserttree(&root,arr[j],j+1); do { printf("\n ************************************************************************** "); printf("\nWhat u want to do"); printf("\n1 for Creation\n2 for Inorder traversal\n3 for Preorder traversal\n4 for Postorder traversal\n5 for Height\n0 to go back"); scanf("%d",&t); switch(t) { case 1:printf("\nEnter the no of nodes"); scanf("%d",&i); root=NULL; printf("\nenter the elements of tree"); for(j=0;j<i;j++) scanf("%d",&arr[j]); for(j=0;j<i;j++) inserttree(&root,arr[j],j+1); break; case 2: inorder(root); break; case 3: preorder(root); break; case 4: postorder(root); break; case 5: j=height(root); printf("\nHeight of tree is%d",j); break; case 0:goto xy; defalut: printf("\n wrong choice entered"); break; } printf("press 1 to continue with simple trees........"); scanf("%d",&t); system("reset"); }while(t==1); xy:; }
int main(int argc, const char * argv[]) { Binary_tree * bt; Binary_tree * min; Binary_tree * max; Binary_tree * successor; Binary_tree * presuccessor; //Binary_tree * search_result; Binary_tree * after_delete; bt = inserttree(bt,10); bt = inserttree(bt,9); bt = inserttree_recursion(bt,7); bt = inserttree(bt,18); bt = inserttree(bt,16); bt = inserttree(bt,12); bt = inserttree(bt,20); bt = inserttree(bt,19); //printf("%d\n",bt->right->num); //search_result = tree_search(bt,19); //printf("%d",search_result->parent->num); inorder_tree_walk(bt); //successor = tree_successor(bt->right); //printf("%d\n",successor->num); //printf("%d\n",bt->right->left->num); //presuccessor = tree_presuccessor(bt->right->left); //min = minimum_recursion(bt); //max = maximum_recurison(bt); //after_delete = tree_delete(bt, bt->left); //inorder_tree_walk_another(after_delete); //printf("%d\n",presuccessor->num); //printf("%d\n",min->num); //printf("%d\n",max->num); //printf("%d\n",bt->right->parent->num); return 0; }
void generateoctree(void) { reducelevel = MAXDEPTH; leaflevel = reducelevel + 1; while (get_pixel(insert_rgb)) { inserttree(&tree, 0); if (size > MAXCOLORS - 1) /* max number of colors ! */ reducetree(); } }
static void inserttree(OCTREE *tree, UINT depth) { UINT branch; if (*tree == NULL) newandinit(tree,depth); (*tree)->colorcount++; (*tree)->rgbsum.r += insert_rgb[RED]; (*tree)->rgbsum.g += insert_rgb[GREEN]; (*tree)->rgbsum.b += insert_rgb[BLUE]; if ((*tree)->leaf == FALSE && depth < leaflevel) { branch = TESTBIT(insert_rgb[RED],MAXDEPTH - depth) * 4 + TESTBIT(insert_rgb[GREEN],MAXDEPTH - depth) * 2 + TESTBIT(insert_rgb[BLUE],MAXDEPTH - depth); if ((*tree)->next[branch] == NULL) { (*tree)->children++; if ((*tree)->children == 2) makereduceable(depth,*tree); } inserttree(&((*tree)->next[branch]), depth + 1); } }