#include <queue>; // 头文件
详细用法:
定义一个queue的变量 queue<Type> M
查看是否为空范例 M.empty() 是的话返回1,不是返回0;
从已有元素后面增加元素 M.push()
输出现有元素的个数 M.size()
显示第一个元素 M.front()
显示最后一个元素 M.back()
清除第一个元素 M.pop()
总结:先进先出;push到队尾;pop队首元素。
原理:
普通队列:取出第一个,后面的数据向前移动(注意队首位置不会改变);(优点:思想简单;缺点:效率低)
改进队列:将收尾坐标记录;(优点:效率变高;缺点:占用内存较大)
循环队列:可以把数组看出一个首尾相连的圆环,删除元素时将队首标志往后移动,添加元素时若数组尾部已经没有空间,则考虑数组头部的空间是否空闲,如果是,则在数组头部进行插入。(优点:效率,内存固定;缺点:思想较复杂)