1. 程式人生 > >最小堆

最小堆

pre bsp != class build code amp void IV

int a[Max],n;
void build(int t)
{
    int Min=a[t];
    int l=2*t,k=t;
    int r=2*t+1;
    if(r<=n&&a[r]<Min)
    {
        Min=a[r];
        k=r;
    }
    if(l<=n&&a[l]<Min)
    {
        Min=a[l];
        k=l;
    }
    if(k!=t)
    {
        swap(a[k],a[t]);
        build(k);
    }
}

最小堆