Example #1
0
int main(int argc, char *argv[])
{                        
  nodo *raiz;

  if( argc > 2 || (argc == 2 && argv[1][1] != 'r'))
  {
    // Comprobación de la sintaxis de llamada
    printf("Sintaxis:\n\tPara mostrar ascendentemente:\n%s\n\t"
      "Para mostrar descendentemente:\n%s -r\n", argv[0], argv[0]);
    exit(-1);  
  }                                          
  puts("Escriba varias cadenas de texto. Finalice con EOF.");
  raiz = crear_arbol(); // creación del árbol

  if(argc == 1)
  {
    puts("");
    puts("Las cadenas ordenadas ascendentemente:\n");
    imprimir_arbol(raiz, 'a'); 
  }
  else
  {
    puts("");
    puts("Las cadenas ordenadas descendentemente:\n");
    imprimir_arbol(raiz, 'b');
  }
  
  borrar_arbol(raiz);

  return 0;
}
Example #2
0
int main (int arc, char **argv) 
{	int i,j;

	init_rtree();
	insertar(obtener_raiz(),make_rect(1.0,3.0,2.0,2.5));
	insertar(obtener_raiz(),make_rect(1.0,2.0,3.0,5.0));
	insertar(obtener_raiz(),make_rect(2.0,3.0,1.0,2.0));
	insertar(obtener_raiz(),make_rect(4.0,5.0,4.0,6.0));
	insertar(obtener_raiz(),make_rect(4.0,6.0,3.0,6.0));

	insertar(obtener_raiz(),make_rect(6.0,7.0,9.0,10.0));
	insertar(obtener_raiz(),make_rect(7.0,8.0,10.0,11.0));
	insertar(obtener_raiz(),make_rect(6.0,7.0,4.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.1,9.5,5.0,10.0));
	
    insertar(obtener_raiz(),make_rect(9.2,9.6,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.3,9.7,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.4,9.8,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));
	insertar(obtener_raiz(),make_rect(9.0,9.5,5.0,10.0));

	imprimir_arbol(obtener_raiz(), -1, 0);

    Dynamic_array resultado = buscar(obtener_raiz(), make_rect(9.0,9.5,5.0,10.0));
    printf("Buscar -> [%f,%f]x[%f,%f]\n", 9.0,9.5,5.0,10.0);
    for(j=0;j<resultado.used;j++) {
        printf("   Encontrado ->[%f,%f]X[%f,%f]\n", resultado.array[j].x1, resultado.array[j].x2, 
                                                    resultado.array[j].y1, resultado.array[j].y2);
    }

    //for(i=0;i<=rtree_ultimo;i++)
    //    imprimir_nodo(leer_nodo(i));
	//printf("--------------------------\n");
	//printf("--------------------------\n");

	//for (i=0;i <= rtree_ultimo; i++)
		//imprimir_nodo(leer_nodo(i));



	return 0; // todo ok

	//imprimir_nodo(obtener_raiz());
	//imprimir_nodo(leer_nodo(0));
	//imprimir_nodo(leer_nodo(1));
	//imprimir_nodo(leer_nodo(2));
	
    return 0; // todo ok


}
Example #3
0
void imprimir_arbol(nodo *a, char orden)
{
  //clearerr(stdin);
  if(a != NULL)
  {
    if(orden == 'a')
    {
      imprimir_arbol(a->izq, 'a');
      puts(a->linea);
      imprimir_arbol(a->der, 'a');
    }
    else 
    {
      imprimir_arbol(a->der, 'b');
      puts(a->linea);
      imprimir_arbol(a->izq,'b');
    }
  }
}
/**************************************
imprimir_arbol:
Imprime en consola la estructura completa
de un arbol.
***************************************/
void imprimir_arbol(struct Tnodo *nodo) 
{ 
   static int deep = 0; 
   static int nspaces = 1; 
   int i, j; 
   while (nodo != NULL) { 
      for (i = 0; i < deep; i++) 
         for (j = 0; j < nspaces; j++) 
            printf ("-"); 
      printf ("%s\n", nodo->nombre); 
      deep++; 
      imprimir_arbol (nodo->hijos); 
      deep--; 
      nodo = nodo->siguiente; 
   } 
}