A Queue is a linear structure which follows a particular order in which the operations are performed. The order is First In First Out (FIFO). A good example of a queue is any queue of consumers for a resource where the consumer that came first is served first. The difference between stacks and queues is in removing. In a queue, we remove the item that was least recently added.

Characteristics

  • FIFO (First In First Out)
  • Think “Customers in a line”

Applications

  • CPU Scheduling
  • Disk Scheduling
  • IO Buffers
  • Pipes
  • File IO

Structure

queue.isEmpty

Returns a Bool with true if the queue is empty or false if the queue has elements.

queue.count

Returns an Int with the number of elements in the queue.

queue.enqueue(_ element: Element)

Adds the given element to the back of the queue.

queue.dequeue() -> SinglyLinkedListNode?

Removes the node from the front of the queue and returns the node.

queue.peek() -> SinglyLinkedListNode?

Returns the node from the front of the queue.

Queue with Linked List Implementation

Code


References

Leave a Reply