2019-02-09 队列

队列整体知识

  • 一种可以实现先进先出的存储结构
  • 分类:链式队列 静态队列
  • front指向头部,rear指向尾部,删除只能从头部删除,添加只能从尾部添加

静态队列

  • 静态队列为什么使用循环队列实现

因为静态队列是基于数组实现的,如果不用循环队列,会导致删除的元素所使用的空间无法继续使用,造成空间的浪费

  • 循环队列需要几个参数实现

需要2个参数,第一个参数是front(前面),第二个参数是rear(后面);

  • 循环队列各个参数的含义

队列初始化时front和rear的值都为0;
队列非空时front代表队列的第一个元素,rear代表队列的最后一个有效元素的下一个元素

  • 循环队列入队伪算法

将值存入rear所代表的位置
r=(r+1)%数组的长度

  • 循环队列出队伪算法

f=(f+1)%数组的长度

  • 如何判断循环队列是否为空

如果front的值和rear的值相等,则队列则一定为空

  • 如何判断循环队列是否为满

队满条件:(rear+1) %QueueSIze==front,其中QueueSize为循环队列的最大长度

你可能感兴趣的:(2019-02-09 队列)