class Examenes::List

Attributes

cabeza[R]

Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total

cola[R]

Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total

numeroNodos[R]

Tres atributos, uno se situa al principio :cabeza, el otro al final :cola, y los numeros de nodo total

Public Class Methods

new() click to toggle source

Inicializa los tres atributos.

# File lib/Examenes/Listas.rb, line 29
def initialize
  @cabeza = nil
  @cola = nil
  @numeroNodos = 0
end

Public Instance Methods

each() { |value| ... } click to toggle source
# File lib/Examenes/Listas.rb, line 111
def each
  nodo = @cabeza
  while nodo != nil do
    yield nodo.value
    nodo = nodo.next
  end
end
obtenerValor(numero) click to toggle source

Obtiene un valor determinado

# File lib/Examenes/Listas.rb, line 98
def obtenerValor(numero)
  valor = ""
  i = 0
  nodo = @cabeza
  while i < numero do
    i = i + 1
    valor = nodo.value
    nodo = nodo.next
  end
  return valor
end
pop() click to toggle source

Elimina los elmentos de la Lista

# File lib/Examenes/Listas.rb, line 52
def pop
  if @numeroNodos == 1 then
    @cabeza = nil
    @cola = nil
  else
    @cabeza = @cabeza.next
  end
  @numeroNodos = @numeroNodos - 1
end
push(*valor) click to toggle source

Introduce los elementos a la Lista

# File lib/Examenes/Listas.rb, line 36
def push(*valor)
  for i in 0...valor.length
    nuevoNode = Node.new(valor[i], @nil, nil)
    if @numeroNodos == 0 then
      @cabeza = nuevoNode
      @cola = nuevoNode
    else
      @cabeza.previous = nuevoNode
      nuevoNode.next = @cabeza
      @cabeza = nuevoNode       
    end
    @numeroNodos = @numeroNodos + 1
  end
end
sacarValor() click to toggle source

Obtiene el valor correspondiente

# File lib/Examenes/Listas.rb, line 63
def sacarValor
  @valor = @cabeza.value
  if @numeroNodos == 1 then
    @cabeza = nil
    @cola = nil
  else
    @cabeza = @cabeza.next
  end
  @numeroNodos = @numeroNodos - 1
  return @valor
end
verDesdeCabeza() click to toggle source

Muestra la lista empezando desde la cabeza

# File lib/Examenes/Listas.rb, line 76
def verDesdeCabeza
  salida = ""
  nodo = @cabeza
  while nodo != nil do
    salida = salida + nodo.value.to_s + " "
    nodo = nodo.next
  end
  return salida
end
verDesdeCola() click to toggle source

Muestra la lista empezando por la cola

# File lib/Examenes/Listas.rb, line 87
def verDesdeCola
    salida = ""
  nodo = @cola
  while nodo != nil do
    salida = salida + nodo.value.to_s + " "
    nodo = nodo.previous
  end
  return salida
end