Class: DS::ListElement

Inherits:
Object
  • Object
show all
Defined in:
lib/ds/lists/list_element.rb

Overview

Container for linked lists elements.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(x = nil) ⇒ ListElement

Returns a new instance of ListElement.



6
7
8
9
10
# File 'lib/ds/lists/list_element.rb', line 6

def initialize(x = nil)
  @data = x
  @next = nil
  @prev = nil
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



4
5
6
# File 'lib/ds/lists/list_element.rb', line 4

def data
  @data
end

#nextObject

Returns the value of attribute next.



4
5
6
# File 'lib/ds/lists/list_element.rb', line 4

def next
  @next
end

#prevObject

Returns the value of attribute prev.



4
5
6
# File 'lib/ds/lists/list_element.rb', line 4

def prev
  @prev
end

Instance Method Details

#append(x) ⇒ Object

Adds new element to list.



13
14
15
16
17
# File 'lib/ds/lists/list_element.rb', line 13

def append(x)
  elem = ListElement.new(x)
  elem.prev = self
  self.next = elem
end

#head?Boolean

Checks if given element is first.

Returns:

  • (Boolean)


25
26
27
# File 'lib/ds/lists/list_element.rb', line 25

def head?
  @prev.nil?
end

#tail?Boolean

Checks if given element is last.

Returns:

  • (Boolean)


20
21
22
# File 'lib/ds/lists/list_element.rb', line 20

def tail?
  @next.nil?
end