优先队列

#include <bits/stdc++.h>

using namespace std;

priority_queue<int> s1;//min,从小到大
priority_queue<int,vector<int>,greater<int> > s2;//max,从大到小

int main(){
	int n;
	cin>>n;
	s1.push(n);
	cin>>n;
	s1.push(n);
	cout<<s1.top()<<endl;//最小的那个
	
	cin>>n;
	s2.push(n);
	cin>>n;
	s2.push(n);
	cout<<s2.top()<<endl;//最小的那个
	
	
	return 0;
}

双端队列

#include<bits/stdc++.h>

using namespace std;

deque<int> deq;
int main() {
	
	int a=0;
	cin>>a;
	//左边
	deq.push_front(a);
	
	int b=0;
	cin>>b;
	//右边
	deq.push_back(b);
	
	
}

queue+pair

#include <bits/stdc++.h>
using namespace std;
queue<pair<int,int> > q;
int a,b;
int main(){
	cin>>a>>b;
	q.push({a,b});	
	cout<<q.front().first;//a
	cout<<q.front().second;//b
	q.pop();
	cout<<q.size();//0
	return 0;
}