Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarse

Comparte
 

 [Estructura de datos] DoublyLinkedList

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Ruke

Ruke


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 299
Reputación Reputación : 64
Monedas de oro : 1681
Monedas de Platino : 0 [Estructura de datos] DoublyLinkedList Empty

Inventario :
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10

[Estructura de datos] DoublyLinkedList Empty
Mensaje(#) Tema: [Estructura de datos] DoublyLinkedList [Estructura de datos] DoublyLinkedList Clock10Jue Mar 13, 2014 12:55 am

¿Qué es esto?
https://en.wikipedia.org/wiki/Doubly_linked_list

Codigo
Spoiler:

Ejemplo
[jass]scope DummyList initializer Init
private struct DummyList
integer i
implement DoublyLinkedList
endstruct

private function Init takes nothing returns nothing
local DummyList dummyList = DummyList.createHead()

local DummyList dummyNodeUno = DummyList.createNode()
local DummyList dummyNodeDos = DummyList.createNode()

set dummyNodeUno.i = 4
set dummyNodeDos.i = 8

call dummyList.insertNode(dummyNodeUno)
call dummyList.insertNode(dummyNodeDos)

call BJDebugMsg(I2S(dummyList.first.i)) // 4
call BJDebugMsg(I2S(dummyList.last.i)) // 8
endfunction
endscope[/jass]

Saludos.
Volver arriba Ir abajo
Satoshi
Soldado
Satoshi


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 74
Reputación Reputación : 0
Monedas de oro : 367
Monedas de Platino : 0 [Estructura de datos] DoublyLinkedList Empty

Inventario :
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10

[Estructura de datos] DoublyLinkedList Empty
Mensaje(#) Tema: Re: [Estructura de datos] DoublyLinkedList [Estructura de datos] DoublyLinkedList Clock10Vie Feb 12, 2021 5:20 am

Si quieres una respuesta, te voy a ser sincero: no entendí del todo el ejemplo ni el spoiler (todavía no soy muy ducho en Jass y hace poco conozco esto de los structs en Jass), pero como el link de la Wikipedia dice "doubly-linked-list" y me suena de algo el código, creo que es sobre las listas doblemente enlazadas, una estructura de datos que conozco de C++.
Para una lista enlazada, hace falta crear un struct "Nodo" que va a ser cada posición de la lista, y va a tener como campos el dato que queremos almacenar y dos punteros (te estoy hablando en C, es cierto pero eso es lo que domino) que apuntan cada uno al nodo que va antes y después del nodo en el que está (o sea, el nodo this, llevándolo a Jass) Por lo tanto lógicamente el primer nodo su puntero anterior va a apuntar a null, y el ultimo nodo su puntero siguiente apuntara a null también. Por ultimo para acceder a la lista creamos un puntero de tipo nodo que almacena la posición del primer elemento de la lista, para así poder recorrerla usando los punteros "siguiente" y "anterior" de cada nodo.
Yo creía que esto podía hacerse en C, porque hay punteros y tal. Pero lo que no sabia es que en Jass también se puede
Volver arriba Ir abajo
neruvian
Caballero
neruvian


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 302
Reputación Reputación : 54
Monedas de oro : 926
Monedas de Platino : 0 [Estructura de datos] DoublyLinkedList Empty

Inventario :
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10

[Estructura de datos] DoublyLinkedList Empty
Mensaje(#) Tema: Re: [Estructura de datos] DoublyLinkedList [Estructura de datos] DoublyLinkedList Clock10Sáb Feb 13, 2021 11:58 am

por lo que vi el primero tiene la funcion de guardar los datos que creas en una libreria mientras que en la segunda se encarga de ejecutarlos o asignarlos a las unidades declaradas, tampoco soy experto en jass pero al verlo bien pude entenderlo de esa forma
Volver arriba Ir abajo
Satoshi
Soldado
Satoshi


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 74
Reputación Reputación : 0
Monedas de oro : 367
Monedas de Platino : 0 [Estructura de datos] DoublyLinkedList Empty

Inventario :
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10
[Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10 [Estructura de datos] DoublyLinkedList Empysl10

[Estructura de datos] DoublyLinkedList Empty
Mensaje(#) Tema: Re: [Estructura de datos] DoublyLinkedList [Estructura de datos] DoublyLinkedList Clock10Sáb Feb 13, 2021 9:41 pm

Por cierto, aun no entiendo muy bien esto de las librerías y tal. El referente mas cercano que tengo es el de los archivos .h que se ponen con #include al principio de los programas en C, pero no se como se puede hacer eso en Warcraft
Volver arriba Ir abajo
Contenido patrocinado




[Estructura de datos] DoublyLinkedList Empty
Mensaje(#) Tema: Re: [Estructura de datos] DoublyLinkedList [Estructura de datos] DoublyLinkedList Clock10

Volver arriba Ir abajo
 

[Estructura de datos] DoublyLinkedList

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» Dudas con estructura de datos
» reparacion de una estructura
» incendio de estructura
» Construir una estructura y no varias
» [Rip] Nexus (Estructura Protoss) al 100%

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Aportes :: Librerías-