domingo, 24 de junho de 2007
sábado, 23 de junho de 2007
Rock on ! Baby...
sábado, 16 de junho de 2007
“O espírito de um novo horizonte cai em sonhos antigos”
clique na imagem para ampliarVou ter que aprender a viver sem você
Porque não da para sentar ao seu lado
Sabendo que nunca vou te ter
Terei que esquecer sua voz
Pois não dá para de seus lábios lembrar
Sem ser tomado pela vontade de te beijar
Vou esquecer que quis te abraçar
Pois eu não poderia viver
Sem uma palavra apaixonada te falar
Devo esquecer que te desejei
Porque não quero seguir em frente
Pensando por que nunca com você fiquei
Chega a ser irônica a dificuldade de te esquecer
Quando na verdade foi tão fácil
Aprender a gostar de você
quinta-feira, 7 de junho de 2007
Peruvian Skies
// INSERÇÃO EM ÁRVORE BINÁRIA DE BUSCA:
void inserir(tArvore **a, int elem)// BUSCA BINÁRIA EM UMA ABB:
{
if (*a == NULL)
{
*a = (tArvore *) malloc(sizeof(tArvore));
(*a)->centro = elem;
(*a)->hEsquerda = NULL;
(*a)->hDireita = NULL;
}
else if ((*a)->centro < elem)
inserir(&(*a)->hDireita, elem);
else if ((*a)->centro > elem)
inserir(&(*a)->hEsquerda, elem);
}
int buscar(tArvore *a, int elem)...o trab do diabo viu
{
if (a == NULL)
return 0;
else if (a->centro < elem)
return buscar(a->hDireita, elem);
else if (a->centro > elem)
return buscar(a->hEsquerda, elem);
else
return 1;
}
ps.: Não faço nem idéia c esse cod tah direito !
sábado, 2 de junho de 2007
Essa árvore deve funcionar...
typedef struct tree_node tree_node, *tree;
struct tree_node {
tipo data;
tree left;
tree right;
}
typedef enum { PREORDER,INORDER,POSTORDER } ORDER;
# define DATA(T) ((T)->data)
# define LEFT(T) ((T)->left)
# define RIGHT(T) ((T)->right)
int allocate_tree_node (tree *p_T, tipo data) {
tree T;
T = (tree)malloc (sizeof(tree_node));
if (T==NULL)
return ERRO;
*p_T = T;
DATA(T) = data;
LEFT(T) = NULL:
RIGHT(T) = NULL;
return OK;
}
void free_tree_node(tree *p_T) {
free(*p_T);
*p_T=NULL:
}
int init_tree (tree *p_T) {
*p_T=NULL;
return OK;
}
int empty_tree(tree T) {
return (T==NULL) ? TRUE : FALSE;
}
int make_root(tree *p_T, tipo data, tree right, tree left)
if (empty_tree(*p_T) == FALSE)
return ERRO;
if (allocate_tree_node(p_T,data) == ERRO)
return ERRO;
LEFT(*p_T) = left;
RIGHT(*p_T) = right;
return OK;
}
void destroy_tree(tree *p_T, void (*p_func_f)() ) {
if (empty_tree(*p_T) == FALSE) {
destroy_tree(&LEFT(*p_T),p_func_f);
if (p_func_f != NULL)
(*p_func_f)(DATA(*p_T);
free_tree_node(p_T);
}
}
int traverse_tree(tree T,int (*p_func_f)(), ORDER order) {
switch (order) {
case PREORDER : return preorder_traverse(T,p_func_f);
case INORDER : return inorder_traverse(T,p_func_f);
case POSTORDER : return postorder_traverse(T,p_func_f);
}
return ERROR;
}
int preorder_traverse (tree T,int (*p_func_f)() ) {
int rc;
if (empty_tree(T) == TRUE)
return OK;
rc = (*p_func_f)(DATA(T));
if (rc==OK)
rc = preorder_traverse(LEFT(T),p_func_f);
if (rc==OK)
rc = preorder_traverse(RIGHT(T),p_func_f);
return rc;
}
int inorder_traverse (tree T,int (*p_func_f)() ) {
int rc;
if (empty_tree(T) == TRUE)
return OK;
rc = inorder_traverse(LEFT(T),p_func_f);
if (rc==OK)
rc = (*p_func_f)(DATA(T),p_func_f);
if (rc==OK)
rc = inorder_traverse(RIGHT(T),p_func_f);
return rc;
}
int postorder_traverse (tree T,int (*p_func_f)() ) {
int rc;
if (empty_tree(T) == TRUE)
return OK;
rc = postorder_traverse(LEFT(T),p_func_f);
if (rc==OK)
rc = inorder_traverse(RIGHT(T),p_func_f);
if (rc==OK)
rc = (*p_func_f)(DATA(T),p_func_f);
return rc;
}
sexta-feira, 1 de junho de 2007
Assinar:
Postagens (Atom)

