Enqueue and dequeue do their operation on existing queue and return the new formed queue in an efficient way