Esempio n. 1
0
void pre_order_traverse(BiTree T){
    if (T == NULL)
	return;
    printf("%d ",T->data);
    pre_order_traverse(T->lchild);
    pre_order_traverse(T->rchild);
}
Esempio n. 2
0
void pre_order_traverse(int root)
{
    if(root > array_size || tree[root] == 0)
        return;
    printf("%3d", tree[root]);
    pre_order_traverse(left_child(root));
    pre_order_traverse(right_child(root));
}
Esempio n. 3
0
//If the traverse useful?
bool pre_order_traverse( BiTree T, bool(*visit)(TElemType e) ){
	if( T ){
		if( visit( T->value ) )
			if( pre_order_traverse( T->l_child, vist ) )
				if( pre_order_traverse( T->r_child, vist ) )
					return true;
		return false;
	}else{ return true; }
}
/**
 *
 * \brief
 *  Preoder traverse a binary tree 
 *
 * \param	root	The root of a binary tree (input)
 *
 * \return	none.
 *
 */
void pre_order_traverse(BiNode *root)
{
	if(NULL == root)
	{
		return;
	}

	printf("%s\t", root->name);
	pre_order_traverse(root->lchild);
	pre_order_traverse(root->rchild);

	return;
}
Esempio n. 5
0
int main()
{
    bitree T;
    create_bitree(&T);
    pre_order_traverse(T);
    return 0;
}
Esempio n. 6
0
int main(int argc, char** argv)
{
	srand((unsigned int)time(NULL));

	//printf("rand:%d", rand()%100);
	//printf("rand:%d", rand()%100);
	//printf("rand:%d", rand()%100);
	insert(rand()%100);
	insert(rand()%100);
	insert(rand()%100);
	insert(rand()%100);
	insert(rand()%100);
	insert(rand()%100);
	//insert(myrand(100));
	//insert(myrand(100));

#if 0
	binary_tree_s* psTmp = find(49);
	if (NULL != psTmp)
		printf("val:%d\n", psTmp->m_nVal);
#endif

	printf("pre ord:\n");
	pre_order_traverse(psTree);
	printf("\nmid ord:\n");
	mid_order_traverse(psTree);
	printf("\naft ord:\n");
	aft_order_traverse(psTree);

	destroy_tree(psTree);

	printf("xxxxxxxx\n");
	//pre_order_traverse(psTree);

	return 0;
}