Class: DataStructures::Queue

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

Overview

Implements a simple FIFO (first in, first out) queue data structure using an array container.

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



6
7
8
# File 'lib/datastructures/queue.rb', line 6

def initialize
  self.clear
end

Instance Method Details

#backObject



33
34
35
# File 'lib/datastructures/queue.rb', line 33

def back
  @array.last
end

#clearObject



37
38
39
# File 'lib/datastructures/queue.rb', line 37

def clear
  @array = Array.new
end

#dequeueObject



24
25
26
27
# File 'lib/datastructures/queue.rb', line 24

def dequeue
  raise "Queue underflow: nothing to dequeue." if self.size == 0
  @array.shift
end

#empty?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/datastructures/queue.rb', line 16

def empty?
  @array.empty?
end

#enqueue(item) ⇒ Object



20
21
22
# File 'lib/datastructures/queue.rb', line 20

def enqueue item
  @array.push item
end

#frontObject



29
30
31
# File 'lib/datastructures/queue.rb', line 29

def front
  @array.first
end

#sizeObject Also known as: length



10
11
12
# File 'lib/datastructures/queue.rb', line 10

def size
  @array.size
end