今天学回顾bfs的时候遇到了,遂总结一下
队列是一种特殊的线性表,只允许在队列的前端(front)进行删除操作,在队尾进行插入操作,进行插入操作的端称作队尾,进行删除操作的端称作对头。(来自百度百科)
队列,顾名思义,就是队列,和在食堂排队买饭是一个性质,符合“先进先出”的特点。
总结一下队列的基础知识:
头文件:#include<queue>
必须写using namespace std;
定义:queue<int> q;其中<>里不只可以是int型,也可以是其他类型double,float,node(结构体)
基本操作:
- q.size(); 返回元素个数
- q.front(); 读取第一个元素的值
- q.empty(); 返回是否为空,空则返回1,否则返回0
- q.push(); 在q的队尾插入一个元素
- q.pop();删除q的第一个元素
- q.back();返回q的末尾元素
听说还有优先队列,还没学到,以后学到了再补上吧