Class: Lista

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/dietas/lista.rb

Overview

CLASE LISTA

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLista

FUNCION INITIALIZE



12
13
14
15
# File 'lib/dietas/lista.rb', line 12

def initialize()
    @inicio = nil
    @fin = nil
end

Instance Attribute Details

#finObject (readonly)

Returns the value of attribute fin.



9
10
11
# File 'lib/dietas/lista.rb', line 9

def fin
  @fin
end

#inicioObject (readonly)

Returns the value of attribute inicio.



9
10
11
# File 'lib/dietas/lista.rb', line 9

def inicio
  @inicio
end

Instance Method Details

#eachObject

METODO EACH



92
93
94
95
96
97
98
# File 'lib/dietas/lista.rb', line 92

def each
      nodo = @inicio
      while(nodo != nil)
        yield nodo.value
        nodo = nodo.next
      end
end

#emptyObject

EMPTY : COMPUREBA QUE LA LISTA ESTA VACIA



18
19
20
21
22
23
24
# File 'lib/dietas/lista.rb', line 18

def empty
    if (@inicio == nil)
        return true
    else 
        return false
    end
end

#extraer_fObject

EXTRAER FINAL



78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/dietas/lista.rb', line 78

def extraer_f
    if (empty)
        puts "lista vacia"
        return false
    else
        aux = @fin
        @fin = @fin.prev
        #@fin.next = nil
        return aux.value
    end
       
end

#extraer_iObject

EXTRAER INICIO



63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/dietas/lista.rb', line 63

def extraer_i  #extraemos del principio
    
    if (empty)
        puts "lista vacia"
        return false
    else
        aux = @inicio
        @inicio = @inicio.next
        #@inicio.prev = nil
        return aux.value
    end
    
end

#insertar_f(valor) ⇒ Object

INSERTAR FINAL



39
40
41
42
43
44
45
46
47
48
# File 'lib/dietas/lista.rb', line 39

def insertar_f(valor)
    aux = Node.new(valor,nil,@fin)
    @fin = aux
    if(empty)
        @inicio = @fin
    end
        
    return @fin.value 
    
end

#insertar_i(valor) ⇒ Object

INSERTAR INICIO



27
28
29
30
31
32
33
34
35
36
# File 'lib/dietas/lista.rb', line 27

def insertar_i(valor)
    aux = Node.new(valor,@inicio,nil)
    @inicio = aux #aux pasa a ser el nuevo inicio

    if(empty)
        @fin = @inicio
    end
    
    return @inicio.value             
end

#insertar_n(vector) ⇒ Object

INSERTAR VARIOS



51
52
53
54
55
56
57
58
59
60
# File 'lib/dietas/lista.rb', line 51

def insertar_n(vector)
    
    count = 0
    for i in vector
     insertar_i(i)
     count = count + 1
    end
    return count
    
end