Class: CollectionUtils::Queue
- Inherits:
-
Object
- Object
- CollectionUtils::Queue
- Defined in:
- lib/collection_utils/queue.rb
Instance Method Summary collapse
-
#dequeue ⇒ Object
Dequeue will remove element from queue and return the value.
-
#enqueue(element) ⇒ Object
Enqueue will add an element in queue.
-
#front ⇒ Object
Element that has been recently added.
-
#initialize(array = []) ⇒ Queue
constructor
Constructors.
-
#is_empty? ⇒ Boolean
Which tells queue’s emptiness.
-
#rear ⇒ Object
Element that will be dequeued next.
-
#size ⇒ Integer
Size of queue.
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
#dequeue ⇒ Object
Dequeue will remove element from queue and return the value
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
26 27 28 |
# File 'lib/collection_utils/queue.rb', line 26 def enqueue(element) @queue << element end |
#front ⇒ Object
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.
71 72 73 |
# File 'lib/collection_utils/queue.rb', line 71 def is_empty? return @queue.size == 0 end |
#rear ⇒ Object
Returns element that will be dequeued next.
61 62 63 |
# File 'lib/collection_utils/queue.rb', line 61 def rear return @queue.last end |
#size ⇒ Integer
Returns size of queue.
81 82 83 |
# File 'lib/collection_utils/queue.rb', line 81 def size return @queue.size end |