notes /this function checks if the queue is empty or not if( front = rearreturn(trueelse return(false)void initialize(queue []/this procedure initializes queue front rear an important point to be noticed in the above implementation is that the queue has tendency to move to the right unless occasionally 'frontcatches up with 'rearand both are reset to again (in the delete procedureas result it is possible that considerable portion of the elements array is free but the queue full signal is on to get rid of this problemwe may shift the elements array towards left by whenever deletion is made such shifting is time consuming since it has to be done for each deletion operation more efficient queue representation is obtained by regarding the array of elements of queue to be circular for easier algebraic manipulation we consider the array subscript ranging from - as beforerear will point to the element which is at the end of the queue the front points to one position anticlockwise to the beginning of the queue initiallyfront rear and front rear only if the queue is empty every insertion implies that the rear of the queue increases by except when rear - in that casethe rear is made zero if the queue is not full yet figure shows circular queue with elements where front= and rear= figure circular queue rear cc bb aa front lovely professional university