• <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>
            #define MAXN 10000

            template
            <typename Type>
            class Heap{
                
            private:
                    
            int  size;
                    Type data[MAXN
            +1];
                    
            void siftdown( int pos );
                    
                
            public:
                    Heap();
                    
            void push( Type key );
                    Type pop();
                    
            void make_heap();
                    
            bool empty();
                    
            void clear();
                    
            int  get_size();
            }
            ;

            template
            <typename Type>
            Heap
            <Type>::Heap(){
                size
            = 0; }

                
            template
            <typename Type>
            int Heap<Type>::get_size(){
                
            return size; }


            template
            <typename Type>
            bool Heap<Type>::empty(){
                
            return size== 0;}

                
            template
            <typename Type>
            void Heap<Type>::clear(){
                size
            = 0; }


            template
            <typename Type>
            void Heap<Type>::siftdown( int pos ){
                
            while( pos<<1<= size ){
                    
            int t= pos<<1
                    
            if( (pos<<1)+ 1<= size && data[(pos<<1)+1]<data[t] ) t= (pos<<1)+ 1;
                    
            if( data[t]< data[pos] ){
                        Type tmp
            = data[t]; data[t]= data[pos]; data[pos]= tmp;
                        pos
            = t; }

                    
            else break;
                }

            }


            template
            <typename Type>
            void Heap<Type>::push( Type key ){
                data[
            ++size]= key;
                
            int pos= size;
                
            while( pos> 1 ){
                    
            if( data[pos>>1]> data[pos] ){
                        Type tmp
            = data[pos]; 
                        data[pos]
            = data[pos>>1]; data[pos>>1]= tmp;
                        pos
            >>= 1; }

                    
            else break;
                }

            }


            template
            <typename Type>
            Type Heap
            <Type>::pop(){
                Type tmp
            = data[1]; data[1]= data[size];
                data[size]
            = tmp; size--;
                siftdown(
            1); return data[size+1];
            }
            posted on 2009-04-16 18:31 Darren 閱讀(4360) 評(píng)論(4)  編輯 收藏 引用

            評(píng)論:
            # re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-16 22:57 | 打醬油
            傳說(shuō)中的手寫(xiě)堆?Orz。。。  回復(fù)  更多評(píng)論
              
            # re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-17 16:57 | brightcoder
            void make_heap()定義哪去了?  回復(fù)  更多評(píng)論
              
            # re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-17 17:04 | Darren
            @brightcoder
            那個(gè)應(yīng)該很好寫(xiě)了,循環(huán)一次就行了。
            本來(lái)是要寫(xiě)的,不過(guò)發(fā)現(xiàn)一次次插入就能建堆了。
              回復(fù)  更多評(píng)論
              
            # re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-05-17 16:55 | myo1olove
            高人!!!
            太敬佩你了,我已‘偷借’你好幾篇代碼了!!!
            thank you  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            一级做a爰片久久毛片看看| 国产精品美女久久久久网| 18岁日韩内射颜射午夜久久成人| 久久精品国产一区| 久久久免费精品re6| 亚洲中文久久精品无码ww16| 亚洲欧洲久久久精品| 99热都是精品久久久久久| 精品亚洲综合久久中文字幕| 99久久er这里只有精品18| 蜜桃麻豆WWW久久囤产精品| 2021国产精品久久精品| 一本色道久久综合| 99精品久久精品一区二区| 狠狠综合久久综合88亚洲| 伊人久久大香线蕉综合Av| 99久久无色码中文字幕人妻| 国产成人精品三上悠亚久久| 国产A三级久久精品| 久久久久高潮毛片免费全部播放| 久久国产亚洲高清观看| 久久亚洲精精品中文字幕| 久久不见久久见免费视频7| 国产精品久久久久久影院| 欧美日韩中文字幕久久伊人| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 色综合久久精品中文字幕首页 | 欧美精品一本久久男人的天堂 | 精品久久久久久无码国产| www亚洲欲色成人久久精品| 国内精品伊人久久久久影院对白| 免费一级欧美大片久久网| 久久AⅤ人妻少妇嫩草影院| 日本精品一区二区久久久| 色狠狠久久AV五月综合| 久久国产高清字幕中文| 天天影视色香欲综合久久| 亚洲国产另类久久久精品小说| 女人香蕉久久**毛片精品| 伊人情人综合成人久久网小说| 久久91精品久久91综合|