class Lista

Attributes

fin[RW]
inicio[RW]
tamanio[RW]

Public Class Methods

new() click to toggle source

Constructor

# File lib/referencia/lista.rb, line 6
def initialize
  @inicio = Node.new(nil)
  @fin = Node.new(nil)
  @tamanio = 0
end

Public Instance Methods

each() { |value| ... } click to toggle source
# File lib/referencia/lista.rb, line 76
def each
  aux =self.inicio
  while aux.next != nil do
    yield aux.value
    aux = aux.next
  end
end
extraerPrimerElemento() click to toggle source

Extrae el primer elemento de la lista

# File lib/referencia/lista.rb, line 65
def extraerPrimerElemento
 @tamanio = @tamanio-1
  @inicio = @inicio.next

end
extraerUltimoElemento() click to toggle source

Extrae el Ășltimo elemento de la lista

# File lib/referencia/lista.rb, line 71
def extraerUltimoElemento
  @tamanio = @tamanio-1
  @fin = @fin.previus
  @fin.next = nil
end
insertar_final(*a_elemento) click to toggle source

Inserta uno o varios elementos por el final (cabeza)

# File lib/referencia/lista.rb, line 12
def insertar_final(*a_elemento)
  a_elemento.each do |elemento|
    a_aux = Node.new(nil)
    a_aux.value = elemento

    if(@inicio.value == nil)
      @inicio = a_aux
      @fin = a_aux
    else
      a_aux.previus = @fin
      @fin.next = a_aux
      @fin = a_aux
    end
    @tamanio=@tamanio+1
  end
end
insertar_inicio(*a_elemento) click to toggle source

Inserta uno o varios elementos por el principio (cola)

# File lib/referencia/lista.rb, line 29
def insertar_inicio(*a_elemento)
  a_elemento.each do |elemento|
    a_aux = Node.new(nil)
    a_aux.value=elemento

    if(@inicio.value == nil)
      @inicio = a_aux
      @fin = a_aux
      @tamanio=@tamanio+1
    else
      a_aux.next = @inicio
      @inicio.previus = a_aux
      @inicio = a_aux
    end
    @tamanio = @tamanio+1
  end
end
mostar_fin_inicio() click to toggle source

Muestra la lista desde el final hasta el principio

# File lib/referencia/lista.rb, line 56
def mostar_fin_inicio
  aux = @fin
  p @fin.value
  while aux.previus  do
    aux = aux.previus
    p aux.value
  end
end
mostar_inicio_fin() click to toggle source

Muestra la lista desde el inicio hasta el final

# File lib/referencia/lista.rb, line 47
def mostar_inicio_fin
  aux = @inicio
  p @inicio.value
  while aux.next  do
    aux = aux.next
    p aux.value
  end
end