Class: Lista
Instance Attribute Summary collapse
-
#head ⇒ Object
Returns the value of attribute head.
-
#tail ⇒ Object
Returns the value of attribute tail.
Instance Method Summary collapse
- #each ⇒ Object
- #empty ⇒ Object
- #extract ⇒ Object
-
#initialize ⇒ Lista
constructor
A new instance of Lista.
- #insert(value) ⇒ Object
- #insert_varios(values) ⇒ Object
Constructor Details
#initialize ⇒ Lista
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
#head ⇒ Object
Returns the value of attribute head.
7 8 9 |
# File 'lib/menu/lista.rb', line 7 def head @head end |
#tail ⇒ Object
Returns the value of attribute tail.
7 8 9 |
# File 'lib/menu/lista.rb', line 7 def tail @tail end |
Instance Method Details
#each ⇒ Object
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 |
#empty ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/menu/lista.rb', line 14 def empty if @head == nil true else false end end |
#extract ⇒ Object
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 |