文章

28

粉丝

0

获赞

98

访问

3.6k

头像
堆排序 题解:采用堆排序后运行66%后超时,后采用队列容器。
P2012 云南大学机试题
发布于2025年3月19日 10:26
阅读数 99

#include<bits/stdc++.h>
using namespace std;
//void Heapsort(int b[],int a){
//	for(int i=a;i>=1;i--)
//{
//	for(int j=i;j>1;j--)
//	{
//		if(b[j]<b[j/2]){           //比较父子节点
//			swap(b[j],b[j/2]);
//			}
//	}
//	cout<<b[1]<<" ";
//	b[1]=b[i];
//}
//}
//
//int main()
//{
//int count;
//cin>>count;
//int num[count+1];
//for(int i=1;i<=count;i++)
//{
//cin>>num[i];
//}
//Heapsort(num,count);
//}
//	

int main()
{
	
	priority_queue<int,vector<int>,greater<int>> q;
	int n;
	cin>>n;
	int num;
	for(int i=0;i<n;i++)
	{  
	cin>>num;
	q.push(num);
	}
	while(!q.empty())
	{
		int res=q.top();
		cout<<res<<" ";
		q.pop();
	}

}
  1. priority_queue<int, vector<int>, greater<int>>

    • priority_queue是 C++ 标准库中的优先队列容器,通常基于堆实现。

    • int是队列中存储的元素类型。

    • vector<int>是底层容器,用于存储队列中的元素。

    • greater<int>是比较函数...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发