队列总结
2024-03-10 14:21:54
发布于:浙江
队列总结
一.STL 中的循环队列 queue 先进先出
1.queue 的使用
需要添加头文件:#include<queue>
2.queue 定义
(1)格式:queue<数据类型> 队列名;
(2)举例:
queue<int> q;//定义一个空的队列 q,可以存储的元素类型为 int 类型
struct Node{
int x,y;
};
queue<Node>q;//定义一个空的队列 q,可以存储的元素类型为 Node类型
3.queue 的成员函数
注意:
①push
struct Node{
int x,y;
}t;
queue<Node>q;
q.push({x,y});//x,y是结构体变量成员变量,用{}括起来
q.push(t);//t是Node类型
②输出队列元素
while(!q.empty()){//队列非空
cout<<q.front();//输出队首元素
q.pop();
}
③queue 只能队首出,队尾进 (先进先出) ;只能在队尾 push(),队首 pop();queue 不支持下标访问!
二.STL 中的双端队列 deque
-
deque 的使用
需要添加头文件:#include<deque> -
deque 定义
格式:deque<数据类型> 队列名;
deque<int> dq;
3.deque 的常用函数
注意:
①可以在队首和队尾 进行删除和插入 (双端都可以进行入队和出队)
②可以通过下标访问:可以使用 dq[0]
这里空空如也
有帮助,赞一个