remove element queue

C
void enQueue(int value){
    if (rear == SIZE - 1 && front == 0)
        printf("the Queue its full!!!! \n");
    else
    {
        if(front == -1)
            front = 0;

        //----------------------------------------

        /* SOLUCION: Si ya recorrimos un item o sea que nuestro front sea mayor a 0,
            y se nos lleno el Queue, ya no necesitamos el item, por lo tanto podremos
            mover todos los valores una posicion atras y restar el front. si el 
            front es 0 no tendremos items recorridos asi que va estar full :D */
        if (front > 0 && rear == SIZE - 1)
        {
            for (int i = 0; i < SIZE; i++)
            {
                items[i] = items[i + 1];
            }

            if (front > 0 && rear > 0)
            {
                front--;
                rear--;
            }
        }
        else
            rear++;

        //----------------------------------------

        items[rear] = value;
        printf("%d insert in the Queue :D \n", value);
    }
}
Source

Also in C: