zoukankan      html  css  js  c++  java
  • 6-8 Percolate Up and Down (20分)

     

     

     

     解题思路:小顶堆之向上高速+向下调整

    void PercolateUp( int p, PriorityQueue H ){
        H->Elements[0]=H->Elements[p];
        int i;
        for(i=p/2;i>0;i/=2)
        {
            if(H->Elements[0]>=H->Elements[i])break;
            else
            {
                H->Elements[p]=H->Elements[i];
                p=i;
            }
        }
        H->Elements[p]=H->Elements[0];
    }
    void PercolateDown( int p, PriorityQueue H )
    {
        H->Elements[0]=H->Elements[p];
        int i;
        for(i=p*2;i<=H->Size;i*=2)
        {
            if(i<H->Size&&H->Elements[i]>H->Elements[i+1])
            i++;
            if(H->Elements[0]<=H->Elements[i])break;
            else
            {
                H->Elements[p]=H->Elements[i];
                p=i;
            }
        }
        H->Elements[p]=H->Elements[0];
    }

  • 相关阅读:
    双线性过滤
    textureView
    cubemap
    selfshadow
    cbuffer padding
    异常
    Python深浅拷贝
    数据类型分类
    集合类型内置方法
    字典数据类型内置方法
  • 原文地址:https://www.cnblogs.com/snzhong/p/12745013.html
Copyright © 2011-2022 走看看