Class: Lista
Overview
-
insert_beggining() - Insertamos un nodo en el inicio de la lista
-
insert_end() - Insertamos un nodo en el fin de la lista
-
extract_beggining() - Extraemos un nodo del inicio de la lista
-
extract_end() - Extraemos un nodo del fin de la lista
-
many_insertions_in_beggining() - Insertamos vector de nodos en el inicio de la lista
-
many_insertions_in_end() - Insertamos vector de nodos en el fin de la lista
Instance Attribute Summary collapse
-
#fin ⇒ Object
Getter de top y fin con permisos de lectura y escritura.
-
#top ⇒ Object
Getter de top y fin con permisos de lectura y escritura.
Instance Method Summary collapse
-
#each ⇒ Object
-
@aux - Estara inicializado al @top de la lista.
-
-
#extract_beggining ⇒ Object
-
helper
- Elemento auxiliar para insertar elementos en el inicio.
-
-
#extract_end ⇒ Object
-
helper
- Elemento auxiliar para insertar elementos en el inicio.
-
-
#initialize ⇒ Lista
constructor
-
@fin - Fin de la lista.
-
-
#insert_beggining(valor) ⇒ Object
-
valor
- Valor del nodo a insertar *element
- Nodo a insertar *helper
- Elemento auxiliar para insertar elementos en el inicio.
-
-
#insert_end(valor) ⇒ Object
-
valor
- Valor del nodo a insertar *element
- Nodo a insertar *helper
- Elemento auxiliar para insertar elementos en el inicio.
-
-
#many_insertions_in_beggining(elements) ⇒ Object
-
elements
- Vector de elementos a insertar en la lista.
-
-
#many_insertions_in_end(elements) ⇒ Object
-
elements
- Vector de elementos a insertar en la lista.
-
Constructor Details
#initialize ⇒ Lista
-
@fin - Fin de la lista
35 36 37 38 |
# File 'lib/dieta/lista.rb', line 35 def initialize() @top = nil @fin = nil end |
Instance Attribute Details
#fin ⇒ Object
Getter de top y fin con permisos de lectura y escritura
28 29 30 |
# File 'lib/dieta/lista.rb', line 28 def fin @fin end |
#top ⇒ Object
Getter de top y fin con permisos de lectura y escritura
28 29 30 |
# File 'lib/dieta/lista.rb', line 28 def top @top end |
Instance Method Details
#each ⇒ Object
-
@aux - Estara inicializado al @top de la lista
44 45 46 47 48 49 50 |
# File 'lib/dieta/lista.rb', line 44 def each aux = @top while aux!=nil yield aux.value aux = aux.next end end |
#extract_beggining ⇒ Object
-
helper
- Elemento auxiliar para insertar elementos en el inicio
106 107 108 109 110 111 112 113 114 |
# File 'lib/dieta/lista.rb', line 106 def extract_beggining() if(@top == nil) return nil elsif helper = @top @top = @top.next return helper.value end end |
#extract_end ⇒ Object
-
helper
- Elemento auxiliar para insertar elementos en el inicio
121 122 123 124 125 126 127 128 129 |
# File 'lib/dieta/lista.rb', line 121 def extract_end() if(@top == nil) return nil elsif helper = @fin @fin = @fin.prev return helper.value end end |
#insert_beggining(valor) ⇒ Object
-
valor
- Valor del nodo a insertar -
element
- Nodo a insertar -
helper
- Elemento auxiliar para insertar elementos en el inicio
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/dieta/lista.rb', line 60 def insert_beggining (valor) element = Node.new(valor, nil, nil) if(@top == nil) @top = element @fin = element @top.next = nil @top.prev = nil elsif helper = @top @top = element @top.next = helper helper.prev = @top end end |
#insert_end(valor) ⇒ Object
-
valor
- Valor del nodo a insertar -
element
- Nodo a insertar -
helper
- Elemento auxiliar para insertar elementos en el inicio
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/dieta/lista.rb', line 83 def insert_end (valor) element = Node.new(valor, nil, nil) if(@top==nil) @top = element @fin = element @top.next = nil @top.prev = nil @fin.next = nil @fin.prev = nil elsif helper = @fin @fin = element @fin.prev = helper helper.next = @fin @fin.next = nil end end |
#many_insertions_in_beggining(elements) ⇒ Object
-
elements
- Vector de elementos a insertar en la lista
136 137 138 139 140 141 142 |
# File 'lib/dieta/lista.rb', line 136 def many_insertions_in_beggining (elements) i=0 while i <= (elements.length-1) do self.insert_beggining(elements[i]) i += 1 end end |
#many_insertions_in_end(elements) ⇒ Object
-
elements
- Vector de elementos a insertar en la lista
149 150 151 152 153 154 155 |
# File 'lib/dieta/lista.rb', line 149 def many_insertions_in_end (elements) i=0 while i <= (elements.length-1) do self.insert_end(elements[i]) i += 1 end end |