若循环队列以数组Q【0····m-1】作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列的元素的个数,则循环队列的对首元素

来源:学生作业帮助网 编辑:作业帮 时间:2024/03/28 18:56:58
若循环队列以数组Q【0····m-1】作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列的元素的个数,则循环队列的对首元素

若循环队列以数组Q【0····m-1】作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列的元素的个数,则循环队列的对首元素
若循环队列以数组Q【0····m-1】作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列的元素的个数,则循环队列的对首元素的实际位置是(1+rear+m-length)mod m,为什么啊

若循环队列以数组Q【0····m-1】作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列的元素的个数,则循环队列的对首元素
其实M可以去掉,只是为了方便理解,在总长M的队列中减去实际长度length等于剩余的长度
由于是循环队列,用剩余的长度加上队尾标加一也就等于队首标.
其中加一是因为需要从队尾的后一个元素算起,不加一的话就会使队尾数据也纳入空队列的计算中.