Class: ListaDoble
- Inherits:
-
Object
- Object
- ListaDoble
- Includes:
- Enumerable
- Defined in:
- lib/Alimento/lista_doble.rb
Overview
Returns objeto convertidos con el formato string
Instance Attribute Summary collapse
- #cabeza ⇒ Object
-
#cola ⇒ Object
Returns the value of attribute cola.
Instance Method Summary collapse
-
#each ⇒ String
Objeto convertidos con el formato string del recorrido de los nodos.
-
#extraer ⇒ String
Objeto convertidos con el formato string del nodo eliminado.
-
#get_final ⇒ String
Objeto convertidos con el formato string del nodo que quiere mostrar.
-
#get_inicio ⇒ String
Devuelve el elemento inicial de la lista.
-
#initialize ⇒ ListaDoble
constructor
Contructor de la clase Lista.
-
#insertar(elemento) ⇒ String
Objeto convertidos con el formato string del nodo que quiere añadir.
-
#insertar_final(elemento) ⇒ String
Objeto convertidos con el formato string del nodo añadido.
-
#insertar_muchos(vector) ⇒ String
Objeto convertidos con el formato string de los nodos añadidos.
-
#insertar_muchos_final(vector) ⇒ String
Inserta varios elementos por el final de la lista Se le pasa como argumento un vector con los elementos a insertar en la lista.
Constructor Details
#initialize ⇒ ListaDoble
Contructor de la clase Lista
13 14 15 16 |
# File 'lib/Alimento/lista_doble.rb', line 13 def initialize @cabeza = nil @cola = nil end |
Instance Attribute Details
#cabeza ⇒ Object
153 154 155 |
# File 'lib/Alimento/lista_doble.rb', line 153 def cabeza @cabeza end |
#cola ⇒ Object
Returns the value of attribute cola
154 155 156 |
# File 'lib/Alimento/lista_doble.rb', line 154 def cola @cola end |
Instance Method Details
#each ⇒ String
Returns objeto convertidos con el formato string del recorrido de los nodos
20 21 22 23 24 25 26 |
# File 'lib/Alimento/lista_doble.rb', line 20 def each nodo_aux = @cabeza while nodo_aux != nil yield nodo_aux.value nodo_aux = nodo_aux.next_node end end |
#extraer ⇒ String
Returns objeto convertidos con el formato string del nodo eliminado
124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/Alimento/lista_doble.rb', line 124 def extraer if(is_empty()) return nil elsif node_aux = @inicio @inicio = @inicio.next_node node_aux.next_node = nil node_aux.prev_node = nil return node_aux.value end end |
#get_final ⇒ String
Returns objeto convertidos con el formato string del nodo que quiere mostrar
36 37 38 |
# File 'lib/Alimento/lista_doble.rb', line 36 def get_final return @final end |
#get_inicio ⇒ String
Devuelve el elemento inicial de la lista
30 31 32 |
# File 'lib/Alimento/lista_doble.rb', line 30 def get_inicio return @cabeza end |
#insertar(elemento) ⇒ String
Returns objeto convertidos con el formato string del nodo que quiere añadir
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/Alimento/lista_doble.rb', line 55 def insertar(elemento) #inserta por el inicio nodo_aux = Nodo.new(elemento, nil, nil) #if(is_empty()) if (@cabeza == nil && @cola == nil) @cabeza = nodo_aux @final = nodo_aux @cabeza.next_node = nil @cabeza.prev_node = nil #@final = @inicio elsif aux = @cabeza @cabeza = nodo_aux @cabeza.next_node = aux @cabeza.prev_node = nil aux.prev_node = @cabeza end end |
#insertar_final(elemento) ⇒ String
Returns objeto convertidos con el formato string del nodo añadido
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/Alimento/lista_doble.rb', line 79 def insertar_final(elemento) nodo_aux = Node.new(elemento, nil, nil) if(is_empty()) @cabeza = nodo_aux @final = nodo_aux @cabeza.next_node = nil @cabeza.prev_node = nil @final.prev_node = nil @final.next_node = nil #@final = @inicio elsif aux = @final @final = nodo_aux @final.prev_node = aux @final.next_node = nil end end |
#insertar_muchos(vector) ⇒ String
Returns objeto convertidos con el formato string de los nodos añadidos
100 101 102 103 104 105 106 107 |
# File 'lib/Alimento/lista_doble.rb', line 100 def insertar_muchos(vector) #inserta muchos por el inicio i=0 while i<vector.length self.insertar(vector[i]) i=i+1 end end |
#insertar_muchos_final(vector) ⇒ String
Inserta varios elementos por el final de la lista Se le pasa como argumento un vector con los elementos a insertar en la lista
113 114 115 116 117 118 119 120 |
# File 'lib/Alimento/lista_doble.rb', line 113 def insertar_muchos_final(vector) i=0 while i<vector.length self.insertar_final(vector[i]) i=i+1 end end |