关于队列插入删除算法的疑问:rear=-1含义及front移动规则
队列相关疑问解答
1. rear = -1的含义
在常规的顺序队列实现中,rear用来指向队列的队尾元素所在的索引位置。当rear = -1时,代表当前队列为空——因为队列的元素索引通常从0开始,空队列没有任何元素,所以没有可指向的队尾位置,用-1作为初始标记。
补充:有些实现会将空队列的
front也设为-1,插入第一个元素时,front和rear都会更新为0;也有实现初始front=0、rear=-1,插入第一个元素时仅rear变为0,两种方式本质都是标记空队列状态。
2. 插入操作时front是否会移动
不会。队列遵循**先进先出(FIFO)**的规则:
- 插入(入队)操作仅在队尾进行,只会更新
rear的位置(让它指向新的队尾元素); - 只有当执行**删除(出队)**操作时,
front才会向后移动,指向新的队首元素。
内容的提问来源于stack exchange,提问作者Kim_Razz
相关产品推荐
相关产品推荐

