Skip to content

Instantly share code, notes, and snippets.

@donpandix
Last active January 20, 2017 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save donpandix/97a79424c5510227e610 to your computer and use it in GitHub Desktop.
Save donpandix/97a79424c5510227e610 to your computer and use it in GitHub Desktop.
Implementación de estructura de datos, lista enlazada simple con inserción y recorrido
// Código actualizado a Swift 3.0.1
print("Esto es para estudio de estructura de datos \n")
print("===========================================\n")
// Lista enlazada simple
// Esto es un objeto para lista enlazada
class Nodo {
// valor numerico del nodo
var valor:Int32!
// Valor del nodo siguiente, se inicializa con nil
var next:Nodo!
// constructor de la clase
init ( valor:Int32 ) {
self.valor = valor
}
}
// Nodo que almacenara el principio de la lista
var nodoInicial:Nodo!
// Nodo que servira para apuntar al último elemento de la lista
var nodoFinal:Nodo!
var i:Int32!
// asigno 16 elementos a la cola
for i in 1...16 {
// Genero el nuevo nodo para ingresarlo a la lista
var miNodo:Nodo = Nodo(valor: Int32(i) );
// En caso que sea el primer elemento
if ( nodoInicial == nil ) {
// Tanto la cabeza como el final de la lista apuntan al mismo nodo
nodoInicial = miNodo
nodoFinal = miNodo
} else {
// asigno al elemento final el nuevo nodo creado
nodoFinal.next = miNodo
// el puntero del nodo
nodoFinal = miNodo
}
}
// Ciclo para validar los datos almacenados en la cola
var nodo = nodoInicial
while nodo != nil { // Mientras el nodo no sea nil, continúa
print( "\(nodo!.valor!) " )
nodo = nodo!.next
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment