优先队列!!!

相关函数功能

相关函数功能

代码实现

代码

代码复制

从小到大

#include <bits/stdc++.h>
using namespace std;
int n,x;
priority_queue<int,vector<int>,greater<int>> q;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		q.push(x);
	}
	while(!q.empty()){
		cout<<q.top()<<endl;
		q.pop();
	}
	return 0;
}

从大到小

方案一

#include <bits/stdc++.h>
using namespace std;
int n,x;
priority_queue<int,vector<int>,greater<int>> q;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		q.push(-x);
	}
	while(!q.empty()){
		cout<<-q.top()<<endl;
		q.pop();
	}
	return 0;
}

方案二

#include <bits/stdc++.h>
using namespace std;
int n,x;
priority_queue<int> q;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		q.push(x);
	}
	while(!q.empty()){
		cout<<q.top()<<endl;
		q.pop();
	}
	return 0;
}