Possible Solutions …
An empty indicator replaces deleted elements. When the array is full compact the array to the front. Inefficient in search.
Use the empty indicator and insert into the empty slots. Inefficient in insert.
On each deletion move elements up the array, decrementing rear.
Maintain array as an ordered circular array