堆排序 堆数组模拟

堆排序 堆数组模拟_第1张图片

来源:acwing(侵删)

一维数组对堆的存储:你没见过的船新版本

一些操作:down(x),up(y)两个移动堆点的函数

堆排序 堆数组模拟_第2张图片

down函数 堆排序:

堆排序 堆数组模拟_第3张图片

#include
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int N=1e5+10;
int h[N];
int n,m,co;
void down(int x)
{
	int t=x;
	if(2*x <= co && h[2*x]>n>>m;
	for(int i=1;i<=n;i++)	cin>>h[i];co=n;
	for(int i=n/2;i;i--)		down(i);
	while(m--)
	{
		cout<

你可能感兴趣的:(讲解类,p2p,蓝桥杯,linq)