class Lista

CLASE LISTA

Attributes

fin[R]
inicio[R]

Public Class Methods

new() click to toggle source

FUNCION INITIALIZE

# File lib/dietas/lista.rb, line 12
def initialize()
    @inicio = nil
    @fin = nil
end

Public Instance Methods

each() { |value| ... } click to toggle source

METODO EACH

# File lib/dietas/lista.rb, line 92
def each
            nodo = @inicio
            while(nodo != nil)
                    yield nodo.value
                    nodo = nodo.next
            end
end
empty() click to toggle source

EMPTY : COMPUREBA QUE LA LISTA ESTA VACIA

# File lib/dietas/lista.rb, line 18
def empty
    if (@inicio == nil)
        return true
    else 
        return false
    end
end
extraer_f() click to toggle source

EXTRAER FINAL

# 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_i() click to toggle source

EXTRAER INICIO

# 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) click to toggle source

INSERTAR FINAL

# 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) click to toggle source

INSERTAR INICIO

# 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) click to toggle source

INSERTAR VARIOS

# 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