class Lista::MD_list

Attributes

head[RW]

Variable que almacena la nodo cabeza (primero) de la lista

tail[RW]

Variable que almacena la nodo cola (final) de la lista

Public Class Methods

new() click to toggle source

Inicializa la lista

# File lib/dieta/lista.rb, line 20
def initialize()

        @head = nil
        @tail = nil

end

Public Instance Methods

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

Itera en la lista

# File lib/dieta/lista.rb, line 75
def each
  i = @head;
  while i != nil
      yield i.value
      i = i.next
  end
end
extract_end() click to toggle source

Extrae el Ășltimo elemento de la lista

# File lib/dieta/lista.rb, line 58
def extract_end
  nodo = @tail

  if nodo != nil
    if nodo.prev != nil
      @tail = nodo.prev
      @tail.next = nil
    else
      @head = nil
      @tail = nil
    end
  end

  nodo
end
extract_first() click to toggle source

Extrae el primer nodo

# File lib/dieta/lista.rb, line 28
def extract_first

        nodo = @head

        if nodo != nil
                if nodo.next != nil
                        @head = nodo.next
                else
                        @head = nil
                        @tail = nil
                end
        end

        nodo

end
insert(node) click to toggle source

Inserta un nodo @param node el nodo que quieras insertar

# File lib/dieta/lista.rb, line 47
  def insert(node)
if @head == nil
  @head = node
elsif
  node.prev = @tail
  @tail.next = node
end
  @tail = node
  end