Class: DSA::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/dsa-ruby/queue.rb

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



3
4
5
# File 'lib/dsa-ruby/queue.rb', line 3

def initialize
  @elements = []
end

Instance Method Details

#dequeueObject

Raises:

  • (IndexError)


12
13
14
15
# File 'lib/dsa-ruby/queue.rb', line 12

def dequeue
  raise IndexError, "queue is empty" if empty?
  @elements.shift
end

#empty?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/dsa-ruby/queue.rb', line 26

def empty?
  @elements.empty?
end

#enqueue(val) ⇒ Object



7
8
9
10
# File 'lib/dsa-ruby/queue.rb', line 7

def enqueue(val)
  @elements.push(val)
  self
end

#peekObject

Raises:

  • (IndexError)


17
18
19
20
# File 'lib/dsa-ruby/queue.rb', line 17

def peek
  raise IndexError, "queue is empty" if empty?
  @elements.first
end

#sizeObject



22
23
24
# File 'lib/dsa-ruby/queue.rb', line 22

def size
  @elements.size
end

#to_aObject



30
31
32
# File 'lib/dsa-ruby/queue.rb', line 30

def to_a
  @elements.dup
end