Class: Sll

Inherits:
Object
  • Object
show all
Defined in:
lib/dieta/sll.rb

Overview

Clase lista simplemente enlazada

Author:

  • alu0100880625

Defined Under Namespace

Classes: Node

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSll

Método que instancia un objeto de la clase (una lista con un nodo nil nil)



8
9
10
# File 'lib/dieta/sll.rb', line 8

def initialize
	@head=Node.new(nil,nil)
end

Instance Attribute Details

#headNode (readonly)

struct que almacena el nodo siguiente (:next) y el dato del actual (:value)

Returns:

  • (Node)

    the current value of head



4
5
6
# File 'lib/dieta/sll.rb', line 4

def head
  @head
end

Instance Method Details

#extractData

Método que extrae un dato de la lista

Returns:

  • (Data)

    dato extraido



19
20
21
22
23
# File 'lib/dieta/sll.rb', line 19

def extract
	aux=@head[:value]
	@head=@head[:next]
	aux
end

#insert(data) ⇒ Object

Método que crea un nodo que contenga el dato y lo inserta en la lista

Parameters:

  • data (Data)

    dato que se desea insertar



13
14
15
16
# File 'lib/dieta/sll.rb', line 13

def insert(data)
	aux=Node.new(data,@head)
	@head=aux
end

#to_sString

Método que formatea la lista para mostrarla

Returns:

  • (String)

    cadena que contiene la lista formateada



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/dieta/sll.rb', line 26

def to_s
	aux=@head
	i=1
	str=""
	while(aux[:next]!=nil)
		str+="#{i}) #{aux[:value]}\n"
		aux=aux[:next]
		i+=1
	end
	str
end