• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

             

            template<typename Type>
            struct Great{
                
            bool operator()( Type  a, Type  b ){
                    
            return a> b; }
            };

            template
            <typename Type>
            struct Less{
                
            bool operator()( Type const& a, Type const& b ){
                    
            return a< b; }
            };

            #define SIZE  10010

            template
            <typename Type, typename Cmp>
            class priority_queue{
                
            private:
                    Type d[SIZE];
                    
                
            public:
                    
            void push( Type const& item ){
                        
            int pos= ++*d; 
                        
            while( pos>>1 >= 1 && Cmp()( d[pos>>1], item ) ) 
                        d[pos]
            = d[pos>>1], pos>>=1;
                        d[pos]
            = item;
                    }
                    
            void pop(){
                        Type tmp
            = d[d[0]--]; int p= 1
                        
            forint q= p<<1; q<= *d; q<<= 1 ){
                            
            if( q+ 1<= *&& !Cmp()( d[q+1], d[q] ) ) q++;
                            
            if!Cmp()( tmp, d[q] ) ) break;
                            d[p]
            = d[q];  p= q;
                        }
                        d[p]
            = tmp;
                    }    
                    priority_queue(){ 
            *d= 0; }    
                    Type top()  { 
            return d[1];   }
                    
            int  size() { return *d;     }
                    
            bool empty(){ return *d== 0; }
                    
            void clear(){ *d= 0;         }
            };

            //   聲明為 priority_queue<Type, Great<Type> > test 時為小頂堆
            //   聲明為 priority_queue<Type, Less<Type> > test 時為大頂堆 
            posted on 2009-04-20 18:28 Darren 閱讀(888) 評論(0)  編輯 收藏 引用
            久久精品一本到99热免费| 国产成人精品久久亚洲高清不卡 | 久久久久久国产精品免费免费| 99久久精品国产综合一区| 久久国产热这里只有精品| 久久这里的只有是精品23| 精品久久久久久无码中文字幕一区| 国产精品女同一区二区久久| 四虎国产精品成人免费久久| 久久久老熟女一区二区三区| 色悠久久久久久久综合网| jizzjizz国产精品久久| 伊人精品久久久久7777| 丰满少妇高潮惨叫久久久| 亚洲国产香蕉人人爽成AV片久久| 精品久久香蕉国产线看观看亚洲 | 中文字幕精品无码久久久久久3D日动漫| 色老头网站久久网| 国产精品久久久99| 久久久91精品国产一区二区三区| 亚洲国产成人久久笫一页| 99久久精品免费国产大片| 久久久久久亚洲精品成人| 亚洲精品无码久久久久去q| 亚洲AⅤ优女AV综合久久久| 国产免费福利体检区久久| 久久久久久a亚洲欧洲aⅴ| 久久精品国产一区二区三区日韩| 亚洲精品国产美女久久久| 久久香综合精品久久伊人| 伊人久久大香线蕉综合热线| 久久久久人妻一区精品| 激情久久久久久久久久| 国产精品狼人久久久久影院| 久久综合九色综合精品| 久久精品www| 久久精品国产清自在天天线| 久久婷婷人人澡人人| 日韩亚洲国产综合久久久| 亚洲精品成人久久久| 一本色道久久88综合日韩精品|