notes array implementation here toothere are two possible implementation strategies one where the memory is used statically and the other where memory is used dynamically array-based implementation to represent queue we require one-dimensional array of some maximum size say to hold the data items and two other variables front and rear to point to the beginning and the end of the queue hence queue data type may be defined in as followsstruct queue data[ ]int frontrearduring the initialization of queue qits front and rear are made to at each insertion to the queuewhich takes place at the rear end'rearis incremented by at each deletion'frontis incremented by the following procedures show the implementation of the queue operationsvoid insert(queue [] /this function inserts an element into the queue *if( rear =nprintf('queue is full!")else rear rear data[ rearxvoid delete(queue [] /*deletes an element from the queue and stores in *if( front = rearprintf("queue is empty!" front rear else frontq front = data[ front]boolean empty(queue [] lovely professional university