Class: Examenes::List
- Inherits:
-
Object
- Object
- Examenes::List
- Includes:
- Enumerable
- Defined in:
- lib/Examenes/Listas.rb
Instance Attribute Summary collapse
-
#cabeza ⇒ Object
readonly
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total.
-
#cola ⇒ Object
readonly
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total.
-
#numeroNodos ⇒ Object
readonly
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize ⇒ List
constructor
Inicializa los tres atributos.
-
#obtenerValor(numero) ⇒ Object
Obtiene un valor determinado.
-
#pop ⇒ Object
Elimina los elmentos de la Lista.
-
#push(*valor) ⇒ Object
Introduce los elementos a la Lista.
-
#sacarValor ⇒ Object
Obtiene el valor correspondiente.
-
#verDesdeCabeza ⇒ Object
Muestra la lista empezando desde la cabeza.
-
#verDesdeCola ⇒ Object
Muestra la lista empezando por la cola.
Constructor Details
#initialize ⇒ List
Inicializa los tres atributos.
30 31 32 33 34 |
# File 'lib/Examenes/Listas.rb', line 30 def initialize @cabeza = nil @cola = nil @numeroNodos = 0 end |
Instance Attribute Details
#cabeza ⇒ Object (readonly)
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total
27 28 29 |
# File 'lib/Examenes/Listas.rb', line 27 def cabeza @cabeza end |
#cola ⇒ Object (readonly)
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total
27 28 29 |
# File 'lib/Examenes/Listas.rb', line 27 def cola @cola end |
#numeroNodos ⇒ Object (readonly)
Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total
27 28 29 |
# File 'lib/Examenes/Listas.rb', line 27 def numeroNodos @numeroNodos end |
Instance Method Details
#each ⇒ Object
112 113 114 115 116 117 118 |
# File 'lib/Examenes/Listas.rb', line 112 def each nodo = @cabeza while nodo != nil do yield nodo.value nodo = nodo.next end end |
#obtenerValor(numero) ⇒ Object
Obtiene un valor determinado
99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/Examenes/Listas.rb', line 99 def obtenerValor(numero) valor = "" i = 0 nodo = @cabeza while i < numero do i = i + 1 valor = nodo.value nodo = nodo.next end return valor end |
#pop ⇒ Object
Elimina los elmentos de la Lista
53 54 55 56 57 58 59 60 61 |
# File 'lib/Examenes/Listas.rb', line 53 def pop if @numeroNodos == 1 then @cabeza = nil @cola = nil else @cabeza = @cabeza.next end @numeroNodos = @numeroNodos - 1 end |
#push(*valor) ⇒ Object
Introduce los elementos a la Lista
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/Examenes/Listas.rb', line 37 def push(*valor) for i in 0...valor.length nuevoNode = Node.new(valor[i], @nil, nil) if @numeroNodos == 0 then @cabeza = nuevoNode @cola = nuevoNode else @cabeza.previous = nuevoNode nuevoNode.next = @cabeza @cabeza = nuevoNode end @numeroNodos = @numeroNodos + 1 end end |
#sacarValor ⇒ Object
Obtiene el valor correspondiente
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/Examenes/Listas.rb', line 64 def sacarValor @valor = @cabeza.value if @numeroNodos == 1 then @cabeza = nil @cola = nil else @cabeza = @cabeza.next end @numeroNodos = @numeroNodos - 1 return @valor end |
#verDesdeCabeza ⇒ Object
Muestra la lista empezando desde la cabeza
77 78 79 80 81 82 83 84 85 |
# File 'lib/Examenes/Listas.rb', line 77 def verDesdeCabeza salida = "" nodo = @cabeza while nodo != nil do salida = salida + nodo.value.to_s + " " nodo = nodo.next end return salida end |
#verDesdeCola ⇒ Object
Muestra la lista empezando por la cola
88 89 90 91 92 93 94 95 96 |
# File 'lib/Examenes/Listas.rb', line 88 def verDesdeCola salida = "" nodo = @cola while nodo != nil do salida = salida + nodo.value.to_s + " " nodo = nodo.previous end return salida end |