策略一:计数
定义变量count
记录队中元素,显然,count=queue.size
时,队满
count=0
时,队空
策略二:立Flag
初始令flag
为false
,true
表示入队,false
表示出队
若队满,则当前操作为入队;反之,为出队
策略三:斩草除根
令front
或rear
所指空间不存数据,则当进行入队操作使得front=rear
时,操作无法进行,只有当队空时才会有front=rear
- 综合来看,前两种策略都需要定义额外的变量,虽然策略三会牺牲一个元素空间,但操作起来比较方便,一般推荐策略三