队列:算法
定义:一种能够实现“先进先出”的存储结构数组
分类:spa
链式队列——用链表实现.net
静态队列——用数组实现blog
静态队列一般都必须是循环队列队列
循环队列的讲解:ci
1,静态队列为何必须是循环队列get
若是不是循环队列,会形成空间的巨大浪费博客
2,循环队列须要几个参数来肯定 以及它们的含义it
须要2个参数来肯定
front rear
两个参数不一样场合有不一样的含义
先死记住就行
1,队列初始化 front和rear的值都是零
2,队列非空
front表明的是队列的第一个元素
rear表明的是队列的最后一个有效元素的下一个元素
3,队列空
front和rear的值相等,但不必定是零
3,循环队列各个参数的含义
4,循环队列入队伪算法讲解
将值存入r的位置
正确的写法是: r = (r+1)%数组的长度
5,循环队列出队伪算法讲解
f = (f + 1 )%数组的长度
6,如何判断循环队列是否为空
若是front和rear的值相等,则该队列就必定相等
7,如何判断循环队列是否已满
预备知识:
front 的值可能比rear大,
front的值也可能比rear小
固然也可能二者相等
两种方式:
1,多增长一个标志参数(通常不用这种方式)
2,少用一个元素
若是r和f的值紧挨着,则队列已满
if( (r+1)%数组长度 == f )
{ 已满 } else { 不满 }
学PHP的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blog