• <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 閱讀(887) 評論(0)  編輯 收藏 引用
            77777亚洲午夜久久多人| 一本久久a久久精品综合夜夜| 午夜精品久久久久久影视777 | 国产偷久久久精品专区| 久久无码人妻一区二区三区| 久久se精品一区二区| 久久久久久久免费视频| aaa级精品久久久国产片| 欧美国产成人久久精品| 99精品国产在热久久无毒不卡| 久久久久人妻精品一区三寸蜜桃 | 色播久久人人爽人人爽人人片AV| 久久久久亚洲AV无码网站| 久久乐国产精品亚洲综合| 久久国产免费观看精品3| 久久久www免费人成精品| 97精品伊人久久久大香线蕉| 久久人人爽人人爽人人AV东京热 | 色综合色天天久久婷婷基地| 无码八A片人妻少妇久久| 国产呻吟久久久久久久92| 99久久国产热无码精品免费| 一本综合久久国产二区| 精品多毛少妇人妻AV免费久久| 国产精品久久午夜夜伦鲁鲁| 97久久国产露脸精品国产| 一日本道伊人久久综合影| 久久久久亚洲av成人无码电影| 久久国产精品一区二区| 精品无码久久久久久午夜| 久久综合香蕉国产蜜臀AV| 亚洲伊人久久大香线蕉综合图片| 亚洲午夜福利精品久久 | 久久国产亚洲高清观看| 久久国产热精品波多野结衣AV| 色综合久久久久无码专区| 亚洲精品无码成人片久久| 人妻精品久久无码专区精东影业| 久久夜色精品国产噜噜噜亚洲AV | 日韩av无码久久精品免费| 久久精品中文无码资源站|