swift Implementacióndeestructura de datos,lista doblemente enlazada
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Implementacióndeestructura de datos,lista doblemente enlazada相关的知识,希望对你有一定的参考价值。
// Actualizada a la version de Swift 3.0.2
print("Lista doblemente enlazada")
print("=========================")
// clase del nodo
class Nodo {
// valor del nodo
var valor:Int32!
// puntero al nodo siguiente
var next:Nodo!
// puntero al nodo anterior
var back:Nodo!
// constructor
init ( valor:Int32 ) {
self.valor = valor
}
}
// puntero del inicio de la lista
var nodoInicial:Nodo!
// puntero al final de la lista
var nodoFinal:Nodo!
// Ciclo para llenar la lista
for i:Int32 in 1...10 {
// Nuevo nodo a ser insertado
var nuevoNodo = Nodo(valor:i)
if ( nodoInicial == nil && nodoFinal == nil ) {
// Si es el primer nodo, apuntará al principio y final de la lista
nodoInicial = nuevoNodo
nodoFinal = nuevoNodo
} else {
// Si el nodo no es el primero, se insertará al final de la lista
nodoFinal.next = nuevoNodo
nuevoNodo.back = nodoFinal
nodoFinal = nuevoNodo
}
}
print("hacia adelante >>>")
// Recorrido hacia adelante
var nodo = nodoInicial
while nodo != nil {
print("\(nodo!.valor!) ")
nodo = nodo!.next
}
print("")
print("hacia atrás <<<")
// Recorrido hacia atrás
var nodoBack = nodoFinal
while nodoBack != nil {
print("\(nodoBack!.valor!) ")
nodoBack = nodoBack!.back
}
以上是关于swift Implementacióndeestructura de datos,lista doblemente enlazada的主要内容,如果未能解决你的问题,请参考以下文章