Class: Sll
- Inherits:
-
Object
- Object
- Sll
- Defined in:
- lib/dieta/sll.rb
Overview
Clase lista simplemente enlazada
Defined Under Namespace
Classes: Node
Instance Attribute Summary collapse
-
#head ⇒ Node
readonly
struct que almacena el nodo siguiente (:next) y el dato del actual (:value).
Instance Method Summary collapse
-
#extract ⇒ Data
Método que extrae un dato de la lista.
-
#initialize ⇒ Sll
constructor
Método que instancia un objeto de la clase (una lista con un nodo nil nil).
-
#insert(data) ⇒ Object
Método que crea un nodo que contenga el dato y lo inserta en la lista.
-
#to_s ⇒ String
Método que formatea la lista para mostrarla.
Constructor Details
#initialize ⇒ Sll
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
#head ⇒ Node (readonly)
struct que almacena el nodo siguiente (:next) y el dato del actual (:value)
4 5 6 |
# File 'lib/dieta/sll.rb', line 4 def head @head end |
Instance Method Details
#extract ⇒ Data
Método que extrae un dato de la lista
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
13 14 15 16 |
# File 'lib/dieta/sll.rb', line 13 def insert(data) aux=Node.new(data,@head) @head=aux end |
#to_s ⇒ String
Método que formatea la lista para mostrarla
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 |