• <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)  編輯 收藏 引用
            亚洲αv久久久噜噜噜噜噜| www亚洲欲色成人久久精品| 一本大道久久东京热无码AV| 久久久久国产一区二区| 一本久久知道综合久久| 久久亚洲高清观看| 亚洲精品国产自在久久| 国产精品99久久免费观看| 色综合合久久天天给综看| 久久亚洲国产成人精品性色| 久久最新免费视频| 欧美伊香蕉久久综合类网站| 少妇无套内谢久久久久| 久久综合中文字幕| 亚洲精品无码久久久久| 久久久久久久久久久免费精品| 久久人妻无码中文字幕| 久久青青国产| 999久久久国产精品| 久久免费的精品国产V∧| 色偷偷88欧美精品久久久| 日韩一区二区久久久久久 | 99久久99久久久精品齐齐| 亚洲午夜无码久久久久小说| 久久精品麻豆日日躁夜夜躁| 久久天天躁狠狠躁夜夜avapp| 久久精品18| 久久嫩草影院免费看夜色| 九九久久精品无码专区| 91久久九九无码成人网站 | 婷婷久久久亚洲欧洲日产国码AV| 久久婷婷色综合一区二区| 曰曰摸天天摸人人看久久久| av无码久久久久不卡免费网站 | 久久久久人妻精品一区| 久久AV无码精品人妻糸列| 久久久久久国产精品美女 | 青青草原1769久久免费播放| 久久99久久99精品免视看动漫| 欧洲人妻丰满av无码久久不卡| 亚洲国产另类久久久精品黑人|