Files
  • main.swift
  • main
main.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// 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

print("Esto es para estudio de estructura de datos \n")
print("===========================================\n")
while nodo != nil { // Mientras el nodo no sea nil, continúa
    print( "\(nodo!.valor!) " )
    nodo = nodo!.next
}
Swift version 4.2 (swift-4.2-RELEASE)