void preorder_traverse (struct bst *bstroot)
{
if (bstroot !=NULL)
{
printf ("\n%c", bstroot->data);
preorder_traverse (bstroot->lchild);
preorder_traverse (bstroot->rchild);
}
}
示例#2
0
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);
}
示例#4
0
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);
	}
}
示例#5
0
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 ( );
}
示例#7
0
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);
	}
    }