Class: Lista
Overview
Clase que representa una lista enlazada
Instance Attribute Summary collapse
-
#beginning ⇒ Object
readonly
Returns the value of attribute beginning.
-
#end ⇒ Object
readonly
Returns the value of attribute end.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize ⇒ Lista
constructor
Constructor de la clase lista.
-
#pop_front ⇒ Object
Extraer al inicio.
-
#push_front(value) ⇒ Object
Insertar al inicio.
-
#push_set(set) ⇒ Object
Insertar al inicio un set de elementos.
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ Lista
Constructor de la clase lista
17 18 19 20 |
# File 'lib/menus/lista.rb', line 17 def initialize() @beginning = nil; @end = nil; end |
Instance Attribute Details
#beginning ⇒ Object (readonly)
Returns the value of attribute beginning.
4 5 6 |
# File 'lib/menus/lista.rb', line 4 def beginning @beginning end |
#end ⇒ Object (readonly)
Returns the value of attribute end.
4 5 6 |
# File 'lib/menus/lista.rb', line 4 def end @end end |
Instance Method Details
#each ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/menus/lista.rb', line 8 def each() actual = @beginning while actual != nil yield actual.value actual = actual.p_next end end |
#pop_front ⇒ Object
Extraer al inicio
38 39 40 41 42 43 |
# File 'lib/menus/lista.rb', line 38 def pop_front() aux = @beginning; @beginning = @beginning.p_next; @beginning.p_prev = nil return aux.value; end |
#push_front(value) ⇒ Object
Insertar al inicio
23 24 25 26 27 |
# File 'lib/menus/lista.rb', line 23 def push_front(value); aux = Node.new(value, @beginning, @nil); @end = @beginning; @beginning = aux; end |
#push_set(set) ⇒ Object
Insertar al inicio un set de elementos
31 32 33 34 35 |
# File 'lib/menus/lista.rb', line 31 def push_set(set) set.each do |i| push_front(i) end end |
#to_s ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/menus/lista.rb', line 45 def to_s() aux = @beginning; str = ""; while (aux != nil) str << "#{aux.value}\n\n" aux = aux.p_next; end return str; end |