• <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 閱讀(881) 評論(0)  編輯 收藏 引用
            久久精品无码av| 免费国产99久久久香蕉| 日本精品久久久久久久久免费| 久久伊人中文无码| 久久精品人人做人人爽97| 久久亚洲精品国产精品| 成人午夜精品久久久久久久小说| 亚洲国产精品婷婷久久| 91久久精品国产免费直播| 日韩欧美亚洲综合久久影院Ds| 久久受www免费人成_看片中文| 欧美大香线蕉线伊人久久| 欧美伊香蕉久久综合类网站| 久久久噜噜噜久久中文字幕色伊伊 | 免费观看久久精彩视频 | 精产国品久久一二三产区区别| 国产91久久精品一区二区| 思思久久99热免费精品6| 国产精品免费看久久久| 欧美伊人久久大香线蕉综合| 国产福利电影一区二区三区久久久久成人精品综合 | 久久婷婷国产剧情内射白浆| 一本大道久久a久久精品综合| 久久婷婷是五月综合色狠狠| 国产69精品久久久久99尤物| 国产∨亚洲V天堂无码久久久| 尹人香蕉久久99天天拍| 一本色道久久88加勒比—综合| 色偷偷久久一区二区三区| 无码人妻久久一区二区三区蜜桃 | 久久青青草视频| 久久国产精品无| 国产精品综合久久第一页| 精品999久久久久久中文字幕| 亚洲综合熟女久久久30p| 亚洲精品午夜国产va久久| 亚洲国产成人精品91久久久| 伊人久久无码精品中文字幕| 久久大香萑太香蕉av| 久久久久人妻一区二区三区| 亚洲色大成网站WWW久久九九|