被催着写就很离谱啊!
队列是一种线性存储结构,有以下特点
1.先进先出的特点
2.每次都是从队尾把数据放入,只可弹出队首元素(双端队列特殊)
头文件:#include<queue> 定义队列:queue<数据类型> q
具体操作代码如下:
queue<int> q; for(int i = 0;i < 10;i++){ q.push(i);//将元素压入队列 } int a = q.front();//取队首 int b = q.back();//取队尾 int c = q.size();//取队列规模的大小 cout<<a<<" "<<b<<" "<<c<<endl; for(int i = 0;i < 5;i++){ cout<<q.front()<<" "; q.pop();//弹出队首元素 } cout<<endl; queue<int> q1; q1.swap(q);//将q队列的元素给q1队列,之后q队列里就没有数据,即为空 for(int i = 0;i < 5;i++){ cout<<q1.front()<<" "; q1.pop();//弹出队首元素 } q.empty();//如果为空返回true,否则返回false
写得比较简单,还是得自己去实践
CF_1579E1题目题解
该题使用双端队列,也可以用两个队列模拟。