循环队列中在少用一个元素空间的前提下表示队空和队满的条件各是什么?

假设循环队列的元素存储空间为data[0..m-1],队头指针f指向队头元素,队指针r指向队尾元素的下一个位置(例如data[0..5],队头元素为data[2],则front=2,队尾元素为data[3],则rear=4),则在少用一个元素空间的前提下表示队空和队满的条件各是什么?