Class: CollectionUtils::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/collection_utils/queue.rb

Instance Method Summary collapse

Constructor Details

#initialize(array = []) ⇒ Queue

Constructors



9
10
11
12
13
14
# File 'lib/collection_utils/queue.rb', line 9

def initialize(array=[])
  @queue = []
  array.each do |element|
    enqueue(element)
  end
end

Instance Method Details

#dequeueObject

Dequeue will remove element from queue and return the value

Examples:

delete element from queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])
element = queue.dequeue #element = 1, queue = [[1,3,4]]

Returns:

  • element that has been removed



38
39
40
41
42
# File 'lib/collection_utils/queue.rb', line 38

def dequeue
  element = @queue.first
  @queue = @queue.slice(1..-1)
  return element
end

#enqueue(element) ⇒ Object

Enqueue will add an element in queue. The added element can be seen through rear function call

Examples:

Add element in queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])

Parameters:

  • element

    to be added in queue



26
27
28
# File 'lib/collection_utils/queue.rb', line 26

def enqueue(element)
  @queue << element
end

#frontObject

Returns element that has been recently added.

Examples:

return front element from queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])
element = queue.front #element = 1, queue = [1,[1,3,4]]

Returns:

  • element that has been recently added



51
52
53
# File 'lib/collection_utils/queue.rb', line 51

def front
  return @queue.first
end

#is_empty?Boolean

Returns which tells queue’s emptiness.

Examples:

return emptiness of queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])
queue.is_empty? #false

Returns:

  • (Boolean)

    which tells queue’s emptiness



71
72
73
# File 'lib/collection_utils/queue.rb', line 71

def is_empty?
  return @queue.size == 0
end

#rearObject

Returns element that will be dequeued next.

Examples:

return rear element from queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])
element = queue.rear #element = [1,3,4], queue = [1,[1,3,4]]

Returns:

  • element that will be dequeued next



61
62
63
# File 'lib/collection_utils/queue.rb', line 61

def rear
  return @queue.last
end

#sizeInteger

Returns size of queue.

Examples:

return size of queue

queue = CollectionUtils::Queue.new()
queue.enqueue(1)
queue.enqueue([1,3,4])
size = queue.size #size = 2

Returns:

  • (Integer)

    size of queue



81
82
83
# File 'lib/collection_utils/queue.rb', line 81

def size
  return @queue.size
end