题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
voidswap(ElementType*a, ElementType*b) { ElementTypec=*a; *a=*b; *b=c; return; } voidPercolateUp( intp, PriorityQueueH ) { while((p>>1)>=1) { if(H->Elements[p]<H->Elements[p>>1]) swap(&(H->Elements[p]),&(H->Elements[p>>1])); elsereturn; p>>=1; } } voidPercolateDown( intp, PriorityQueueH ) { intlen=H->Size, t; while((p<<1)<=len) { t=p<<1; if(t<len&&H->Elements[t]>H->Elements[t+1]) t++; if(H->Elements[t]<H->Elements[p]) swap(&(H->Elements[t]),&(H->Elements[p])); elsereturn; p=t; } }