Class: Lista

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/menu/lista.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLista

Returns a new instance of Lista.



9
10
11
12
# File 'lib/menu/lista.rb', line 9

def initialize
	@head = nil
	@tail = nil
end

Instance Attribute Details

#headObject

Returns the value of attribute head.



7
8
9
# File 'lib/menu/lista.rb', line 7

def head
  @head
end

#tailObject

Returns the value of attribute tail.



7
8
9
# File 'lib/menu/lista.rb', line 7

def tail
  @tail
end

Instance Method Details

#eachObject



38
39
40
41
42
43
44
45
46
47
# File 'lib/menu/lista.rb', line 38

def each 
#empiezo por el final por head pero voy hacia atras con prev porque si usara .next 
#iria a posiciones nulas
   nodo = @head
   while nodo != nil
       yield nodo.value
       nodo = nodo.prev
   end
   
end

#emptyObject



14
15
16
17
18
19
20
# File 'lib/menu/lista.rb', line 14

def empty
	if @head == nil
		true
	else
		false
	end
end

#extractObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/menu/lista.rb', line 22

def extract
	if empty()
		nil
	else
		nodeAux = @head
		if(@head !=nil)then
		@head = @head.prev 
		else
			@head = nil
		end
           nodeAux.value 
		 
	end
end

#insert(value) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/menu/lista.rb', line 53

def insert(value)
		nuevonodo = Node.new(nil,value, nil)
		if empty()
			@head = nuevonodo
  @tail = nuevonodo
		else
			@head.next = nuevonodo
        nuevonodo.prev = @head
        @head = nuevonodo 
		end
end

#insert_varios(values) ⇒ Object



66
67
68
69
70
# File 'lib/menu/lista.rb', line 66

def insert_varios(values)
	for i in 0..values.length-1
		insert(values[i])
	end
end