void preorder_traverse (struct bst *bstroot) { if (bstroot !=NULL) { printf ("\n%c", bstroot->data); preorder_traverse (bstroot->lchild); preorder_traverse (bstroot->rchild); } }
void preorder_traverse(node *t) { if (t != tail) { visit(t); preorder_traverse(t->left); preorder_traverse(t->right); } }
void preorder_traverse(tree_node *root) {//从根节点开始先序遍历 //先序遍历的访问优先级是节点>左子树>右子树 //递归终止条件 if(root == NULL) return; print_node(root); preorder_traverse(root->t_lc); preorder_traverse(root->t_rc); }
void preorder_traverse(bstn *root, int level) { if(root!=NULL) { level++; //printf("%d\n", root->data); index_in_hashtable(level, root->data); if(root->lnp!=NULL) preorder_traverse(root->lnp, level); if(root->rnp!=NULL) preorder_traverse(root->rnp, level); } }
void main(int argc, char *argv[]) { int arr_size=argc-1; int count; int arr[arr_size]; for(count=0;count<=arr_size-1;count++) arr[count]=atoi(argv[count+1]); bstn *root=create_bst(arr, arr_size); preorder_traverse(root, -1); print_nodes_levelwise(); }
void main ( ) { clrscr ( ); create_bst (&root, 'A'); create_bst (&root, 'B'); create_bst (&root, 'a'); create_bst (&root, 'b'); create_bst (&root, 'C'); create_bst (&root, 'c'); create_bst (&root, 'D'); create_bst (&root, 'd'); create_bst (&root, 'E'); clrscr ( ) ; printf ("\nTraversing bst into Inorder :\n"); inorder_traverse (root); printf ("\nTraversing bst into Preorder :\n"); preorder_traverse (root); printf ("\nTraversing bst into Postorder:\n"); postorder_traverse (root); getch ( ); }
void main(void) { char post[256]; init_stack(); init_queue(); init_tree(); while (1) { printf("\n\nInput Postfix expression -> "); gets(post); if (*post == NULL) { printf("\n Program ends..."); exit(0); } if (!is_legal(post)) { printf("\nExpression is not legal."); continue; } head->right = make_parse_tree(post); printf("\nPreorder traverse -> "); preorder_traverse(head->right); printf("\nInorder traverse -> "); inorder_traverse(head->right); printf("\nPostorder traverse -> "); postorder_traverse(head->right); printf("\nLevelorder traverse -> "); levelorder_traverse(head->right); } }