Class: List

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeList

Returns a new instance of List.



9
10
11
12
13
14
# File 'lib/biblioalu0100815146/lista.rb', line 9

def initialize()
    
    @inicio = nil
    @final = nil
    
end

Instance Attribute Details

#finalObject

Returns the value of attribute final.



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

def final
  @final
end

#inicioObject

Returns the value of attribute inicio.



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

def inicio
  @inicio
end

Instance Method Details

#eachObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/biblioalu0100815146/lista.rb', line 90

def each
    
    if (@inicio == nil and @final == nil)
        
        yield nil
        
    elsif (@inicio == @final)
        
        yield @inicio.value
        
    else
        
        while(@inicio != nil)
        
            yield @inicio.value
            @inicio = @inicio.next
            
        end                
    end
end

#extraer_finalObject



41
42
43
44
45
46
47
48
49
50
# File 'lib/biblioalu0100815146/lista.rb', line 41

def extraer_final()
    
    if (@final == nil)
        return nil
    else
        aux= @final
        @final= final.prev
        return aux
    end
end

#extraer_inicioObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/biblioalu0100815146/lista.rb', line 16

def extraer_inicio()
    
    if (@inicio == nil)
        
        return nil
    else
        aux = @inicio
        @inicio = @inicio.next
        return aux
    end
end

#insert_end(x) ⇒ Object



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

def insert_end(x)
    
    nodo = Node.new(x,nil,nil)
    if(@final == nil)
        @final = nodo
        @inicio = nodo
    else
        aux = @final
        @final = nodo
        @final.prev = aux
        aux.next = @final
        
    end
end

#insert_inicio(x) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/biblioalu0100815146/lista.rb', line 28

def insert_inicio(x)
    
    nodo = Node.new(x,nil,nil)
    if(@inicio == nil)
        @inicio = nodo
        @final = nodo
    else
        aux = @inicio
        @inicio = nodo
        @inicio.next = aux
        aux.prev = @inicio
    end
end

#insert_multiple(nodos) ⇒ Object



68
69
70
71
72
73
74
# File 'lib/biblioalu0100815146/lista.rb', line 68

def insert_multiple(nodos)
    
    nodos.each do |element|
        insert_inicio(element)
    end
    
end

#to_sObject



111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/biblioalu0100815146/lista.rb', line 111

def to_s
   
   output = []
   i=0;
    while(@inicio != nil)
        output1 = @inicio.value.to_s
        output[i] = output1
        @inicio = @inicio.next
        i = i+1 
    end
    output
end

#vacioObject



76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/biblioalu0100815146/lista.rb', line 76

def vacio()
   
   if(@inicio == nil)
       
       return true
       
   else
       
       return false
       
   end
    
end