• <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)  編輯 收藏 引用
            精品国产青草久久久久福利| 精品久久久久久国产潘金莲| 激情五月综合综合久久69| 97久久天天综合色天天综合色hd | 久久精品国产亚洲AV香蕉| 99精品国产99久久久久久97| 久久这里只精品国产99热| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 久久99国产精一区二区三区| 国产成人久久精品麻豆一区| 一本大道久久香蕉成人网| 国产精品美女久久久久久2018| 国产精品99久久久久久董美香| 久久受www免费人成_看片中文| 国产精品免费看久久久| 亚洲国产成人久久综合一区77| 国内精品久久久久久野外| 久久午夜无码鲁丝片秋霞 | 久久久无码精品亚洲日韩蜜臀浪潮 | 久久精品人人做人人爽电影| 国产成人99久久亚洲综合精品| 中文字幕日本人妻久久久免费 | 久久精品成人欧美大片| 伊人久久大香线蕉亚洲五月天| 国产精品美女久久久久av爽| 久久亚洲AV成人无码国产| 日本亚洲色大成网站WWW久久| 国产精品久久成人影院| 久久精品国产亚洲av麻豆小说| 亚洲欧洲中文日韩久久AV乱码| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久婷婷色综合一区二区| 久久国产精品波多野结衣AV| 久久综合九色综合精品| 大伊人青草狠狠久久| 99久久国产综合精品麻豆| 久久久无码精品亚洲日韩按摩 | 99久久综合狠狠综合久久| 天天爽天天爽天天片a久久网| 精品久久久久久中文字幕| 久久99精品久久久久久久不卡 |