循环队列的长度算法长度的算法,出了好多错,急求解答

一种可以是实现“先进先出”的存储结构数据的进出类似于排队购票。队只允许队尾一端(rear)添加在另一端队头(front)删除。队有队头(front)和队尾(rear)两个指针队头front指向第一个元素,队尾rear指向无实际意义的元素即队列最后一个元素的下一位置。

//创建一个队列空间分配,保存6个整形元素

分为动态队列和静态队列两种。动态队列用链表实现动态队列易于实现。静态队列用数组实现静态队列通常都必须是循环队列的长度算法。

  1. 静态队列为甚么必须是循环队列的长度算法

数组实现静态队列,删除元素时候每删除一位,front指针上移一位浪费一个单位的数组空间。这种方式添加え素的时候rear上移一个删除元素的时候front上移一个。总之都是上移

当front或者rear指到最上面一个位置,再上移就移动到最下面一个位置所以数組实现队列的时候必须是循环队列的长度算法,传统方式实现不了

2.循环队列的长度算法需要几个参数来确定,及循环队列的长度算法各個参数的含义

队列需要两个参数确定front和rear.2个参数不同的场合有不同的含义,建议初学者先记住然后慢慢体会。

Front 代表的是队列的第一个元素

Rear代表队列的最后一个有效元素的下一个元素

2.循环队列的长度算法入队伪算法讲解

  1. 循环队列的长度算法出队伪算法讲解

//出队队头位置变為:(front+1)%6

4.判断循环队列的长度算法是否已空

5.如何判断循环对了是否已满

预备知识 :由于是循环队列的长度算法,front的值可能比rear大可能比rear小,也能相等两者没有规律。但是队首旋转的速度不能比队尾快

 当存放元素的数目等于数组的存储位置个数,则rear和front重合分不清头和尾。

所以我们少用一个存储位置

 //创建一个队列,空间分配保存6个整形元素。

 //判断循环队列的长度算法是否满

 //利用中间变量遍历队列

我要回帖

更多关于 循环队列的长度算法 的文章

 

随机推荐