文章

10

粉丝

0

获赞

50

访问

807

头像
合并果子(C语言、堆) 题解:
P1544 中南大学机试题
发布于2026年3月16日 10:12
阅读数 80

#include <stdio.h>

int heap[10005];
int size=0;

void push(int x)
{
    int i=++size;
    while(i>1&&heap[i/2]>x)
    {
        heap[i]=heap[i/2];
        i/=2;
    }
    heap[i]=x;
}

int pop()
{
    int min=heap[1];
    int last=heap[size--];
    int i=1,child;
    while(i*2<=size)
    {
        child=i*2;
        if(child+1<=size&&heap[child]>heap[child+1])
            child++;
        if(last<=heap[child])
            break;
        heap[i]=heap[child];
        i=child...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发