Class: List::List
Instance Attribute Summary collapse
-
#final ⇒ Object
readonly
Returns the value of attribute final.
-
#inicio ⇒ Object
readonly
Returns the value of attribute inicio.
Instance Method Summary collapse
- #each ⇒ Object
- #extrae_final ⇒ Object
- #extrae_inicio ⇒ Object
-
#initialize ⇒ List
constructor
A new instance of List.
- #inserta_final(valor) ⇒ Object
- #inserta_inicio(valor) ⇒ Object
- #inserta_muchos_final(valores) ⇒ Object
- #inserta_muchos_inicio(valores) ⇒ Object
- #vacio ⇒ Object
Constructor Details
#initialize ⇒ List
Returns a new instance of List
11 12 13 14 |
# File 'lib/practica8/list.rb', line 11 def initialize() @inicio= nil @final= nil end |
Instance Attribute Details
#final ⇒ Object (readonly)
Returns the value of attribute final
7 8 9 |
# File 'lib/practica8/list.rb', line 7 def final @final end |
#inicio ⇒ Object (readonly)
Returns the value of attribute inicio
7 8 9 |
# File 'lib/practica8/list.rb', line 7 def inicio @inicio end |
Instance Method Details
#each ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/practica8/list.rb', line 16 def each aux = @inicio if (@inicio == nil) yield nil elsif (@inicio == @fin) yield @inicio.value else while (aux != nil) yield aux.value aux = aux.next end end end |
#extrae_final ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/practica8/list.rb', line 30 def extrae_final() if (@final != nil) aux = @final.value @final = @final.prev return aux else return nil end end |
#extrae_inicio ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/practica8/list.rb', line 40 def extrae_inicio() if (@inicio != nil) aux = @inicio.value @inicio = @inicio.next return aux else return nil end end |
#inserta_final(valor) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/practica8/list.rb', line 50 def inserta_final(valor) nodo = Node.new(nil,valor,nil) if(@inicio == nil) @inicio= nodo @final=nodo else nodo.prev = @final @final.next = nodo @final= nodo end end |
#inserta_inicio(valor) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/practica8/list.rb', line 62 def inserta_inicio(valor) nodo = Node.new(nil,valor,nil) if(@inicio == nil) @inicio= nodo @final=nodo else nodo.next = @inicio @inicio.prev = nodo @inicio= nodo end end |
#inserta_muchos_final(valores) ⇒ Object
74 75 76 77 78 |
# File 'lib/practica8/list.rb', line 74 def inserta_muchos_final(valores) valores.each do |elemento| inserta_final(elemento) end end |
#inserta_muchos_inicio(valores) ⇒ Object
80 81 82 83 84 |
# File 'lib/practica8/list.rb', line 80 def inserta_muchos_inicio(valores) valores.each do |elemento| inserta_inicio(elemento) end end |
#vacio ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/practica8/list.rb', line 86 def vacio() if(@inicio == nil) return true else return false end end |