STRUCT especial

Started by Hola, December 27, 2018, 08:00:53 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Hola

Hola a todos, quería plantear una duda sobre crear un posible arbol de busqueda (estilo ajedrez), se que no es comun que alguien lo haga en bennu pero soy esa clase de loco, así que quería preguntar: existe alguna funcion en bennu que haga o cree de alguna manera una especie de Struct (con substructs tipo arbol) pero sin usar Struct en tiempo de ejecución? De manera que va creando el arbol en plena ejecucion de analisis, etc?... Ahora, presuponiendo que eso no existe, entonces tendria que usar varias Struct dentro de otras:

//ejemplo, pongo parentesis aproposito
STRUCT base(10)
STRUCT nodo1(20)
  STRUCT nodo2(20)
   STRUCT nodo3(30)
   END
  END
END
END



No se si se llega a entender, pero lo que deseo saber en este caso es si existe alguna forma de llamar a las STRUCT nodo pero asignando el numerito de al lado como un contador, entonces asi haria que la pc vaya llamando directamente a nodo1 o nodo2, etc automaticamente? en lugar de yo tener que estar poniendo "bueno ahora esta en nodo1", "ahora esta en nodo2"; me explico?

Salu2..

panreyes

No he llegado nunca a hacer algo así, pero hasta donde tengo entendido puedes crear arrays en tiempo de ejecución y trabajar en ellas con punteros.

Otra opción que se me ocurre es crear una array que pueda contener todo lo que necesitas: base[10][20][20][30].
Aunque no sé si tal complejidad es posible en Bennu. Suerte!

Arcontus

#2
Quote from: Hola on December 27, 2018, 08:00:53 PM
Hola a todos, quería plantear una duda sobre crear un posible arbol de busqueda (estilo ajedrez), se que no es comun que alguien lo haga en bennu pero soy esa clase de loco, así que quería preguntar: existe alguna funcion en bennu que haga o cree de alguna manera una especie de Struct (con substructs tipo arbol) pero sin usar Struct en tiempo de ejecución? De manera que va creando el arbol en plena ejecucion de analisis, etc?... Ahora, presuponiendo que eso no existe, entonces tendria que usar varias Struct dentro de otras:
//ejemplo, pongo parentesis aproposito
STRUCT base(10)
STRUCT nodo1(20)
  STRUCT nodo2(20)
   STRUCT nodo3(30)
   END
  END
END
END

No se si se llega a entender, pero lo que deseo saber en este caso es si existe alguna forma de llamar a las STRUCT nodo pero asignando el numerito de al lado como un contador, entonces asi haria que la pc vaya llamando directamente a nodo1 o nodo2, etc automaticamente? en lugar de yo tener que estar poniendo "bueno ahora esta en nodo1", "ahora esta en nodo2"; me explico?

Salu2..

No se si acabo de entender bien lo que necesitas..., quizas te funcionara bien con listas enlazadas (que funcionan perfectamente en bennu). Dentro de esas listas podrias poner tu struct y el puntero al siguiente nodo, de manera que recorrer la lista se realiza mediante un bucle automático.
Espero que te ayude.
PD: Si no has usado listas enlazadas te recomiendo que leas un poco en que consisten para poder implementarlas, ya que no son dificiles pero tienen sus cosas y hay que preparar las funciones de añadir elemento, buscar elemento, borrar elemento, etc. Aquí tienes un ejemplo: https://www.youtube.com/watch?v=S3oHn1N37-E
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Hola

Gracias por las respuestas. Uhm, Arcontus, a lo mejor eso es exactamente lo que debería utilizar, listas doblemente enlazadas, voy a investigar por ahi.


Salu32