class List_double

Clase Lista_double que crea una lista doblemente enlazada enlazada

Attributes

final[RW]

final con el apuntador del ultimo elemento de la lista

principio[RW]

principio con el apuntador del inicio de la lista

Public Class Methods

new() click to toggle source

Initialize que pone los apuntadores del inicio y del fin a nulo indicando asi que la lista esta vacia

# File lib/menu/list_double.rb, line 14
def initialize
    @principio = nil
    @final = nil
end

Public Instance Methods

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

Metodo Each que es necesario para que la lista doble sea enumerable

# File lib/menu/list_double.rb, line 20
def each
    n = @principio
    while n!=nil do
        yield n.value
        n = n.next
    end
end
extraerf() click to toggle source

Metodo extraerf que sirve para extraer un nodo al final

# File lib/menu/list_double.rb, line 67
def extraerf
    aux = @final
    @final = @final.prev
    
    if(@final == nil) then
        @principio = nil
    else
        @final.next = nil
    end
    return aux
end
extraerp() click to toggle source

Metodo extraerp que sirve para extraer un nodo al principio

# File lib/menu/list_double.rb, line 56
def extraerp
   aux = @principio
   @principio = @principio.next
   
   if(@principio == nil) then 
    @final = nil
   end
   return aux
end
insertarf(nodo) click to toggle source

Metodo insertarf que sirve para insertar un nodo al final

# File lib/menu/list_double.rb, line 42
def insertarf(nodo)
     n = Node_double.new(nodo, nil, nil)
     n.prev = @final
     n.next = nil

    if(@final == nil) then
        @principio = n
    else
        @final.next = n
    end
    @final = n
end
insertarp(nodo) click to toggle source

Metodo insertarp que sirve para insertar un nodo al principio

# File lib/menu/list_double.rb, line 29
def insertarp(nodo)
     n = Node_double.new(nodo, nil, nil)
     n.next = @principio
     n.prev = nil
     if(@final == nil) then
         @final = n
     else
         @principio.prev = n;
     end
     @principio = n
end