Class: Lista
Overview
insert_beggining()- Insertamos un nodo en el inicio de la listainsert_end()- Insertamos un nodo en el fin de la listaextract_beggining()- Extraemos un nodo del inicio de la listaextract_end()- Extraemos un nodo del fin de la listamany_insertions_in_beggining()- Insertamos vector de nodos en el inicio de la listamany_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 insertarelement- Nodo a insertarhelper- 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 insertarelement- Nodo a insertarhelper- 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 |