Class: List

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/pract06/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(head, tail) ⇒ List

Metodo initialize

Parameters:

  • parametros

    head y tail de la lista



14
15
16
17
# File 'lib/pract06/list.rb', line 14

def initialize(head,tail)
  	@head = nil
		@tail = nil
end

Instance Attribute Details

#headObject

Debe existir una Lista con su cabeza y su cola



7
8
9
# File 'lib/pract06/list.rb', line 7

def head
  @head
end

#nodo_actualObject

Debe existir una Lista con su cabeza y su cola



7
8
9
# File 'lib/pract06/list.rb', line 7

def nodo_actual
  @nodo_actual
end

#tailObject

Debe existir una Lista con su cabeza y su cola



7
8
9
# File 'lib/pract06/list.rb', line 7

def tail
  @tail
end

Instance Method Details

#eachObject

Deprecated.

Sirve para recorrer la lista dando el valor del nodo

Metodo each



61
62
63
64
65
66
67
# File 'lib/pract06/list.rb', line 61

def each
	    node = head
    while (node!=nil)
	    yield node.value
	    node = node.next
    end
end

#extract_headObject

Deprecated.

Sirve para la extracción de la cabeza de la lista

Metodo extract_head



37
38
39
40
41
42
43
44
# File 'lib/pract06/list.rb', line 37

def extract_head
    aux=""
	    if (@head!=nil)
        aux = @head.value
        @head = @head.next
        return aux
    end
end

#extract_tailObject

Deprecated.

Sirve para la extracción por la cola de la lista

Metodo extract_tail



49
50
51
52
53
54
55
56
# File 'lib/pract06/list.rb', line 49

def extract_tail
    aux=""
    if(@tail!=nil)
        aux = @tail.value
        @tail = @tail.prev
        return aux
    end
end

#insert(value) ⇒ Object

Se puede insertar un elemento por la cabeza

Parameters:

  • value

    para insertar elementos



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pract06/list.rb', line 22

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

		@tail=node
end