Ejemplo n.º 1
0
Tree* adicionaItemArvore(Tree* arvore, void* dados, FCompara comparador)
{
Tree * folha;
int i=0;
	
for(;;){	
i=comparador(dados,arvore->dados);
		if(i==0) return;		
		if(i<0){
		if(arvore->esq==NULL){		
			folha=criaArvore(dados);
			arvore->esq=folha;
			folha->pai=arvore;
			return;		
		}
		else
		arvore=arvore->esq;
			
	}
	if(i>0){
		if(arvore->dir==NULL){
		folha=criaArvore(dados);
		arvore->dir=folha;
		folha->pai=arvore;
		return;		
		}
		else
		arvore=arvore->dir;		
		
		
	}
}
}
Ejemplo n.º 2
0
void * obtemItemArvore(Tree* arvore, void * dados, FCompara comparador){
int i=0;

	if (arvore == NULL) return NULL;

	i=comparador(arvore->dados,dados);

	if(i==0) return arvore->dados;

	if(i>0)	return obtemItemArvore(arvore->esq,dados,comparador);
	
	if(i<0) return obtemItemArvore(arvore->dir,dados,comparador);
	
}
Ejemplo n.º 3
0
int main(){
    int n, digito=99, teste=0;
    
    printf("Digite um numero: ");
    scanf("%i", &n);
    
    if(n>10){
        digito = n%10;
        n = n/10;
    }
    
    while(n>10){
        n = n/10;
    }
    
    teste = comparador(digito, n);
    
    if(teste == 1)
        printf("1st e ultimo digitos IGUAIS!\n");
    else
        printf("1st e ultimo digitos DIFERENTES!\n");
    
    return 0;
}
Ejemplo n.º 4
0
Archivo: Nodo.c Proyecto: R2RITO/CI5437
/**
* Funcion de comparacion entre dos estructuras de tipo nodo.
* Retorna 1 si ysolo si ambos nodos comparten exactamente el mismo identificador 
* @param x es el nodo a ser comparado con el nodo y
* @param y es el nodo a ser comparado con el nodo x
* @param comparador es la funcion de comparacion entre los nodos x y
* @return 1, si los nodos son identicos, 0 en caso contrario
*/
int nodoEquals(nodo x, nodo y,int (*comparador) (void *,void *)) {
    return comparador(x,y);
}