青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 8  文章 - 26  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(5)

隨筆檔案

文章分類

文章檔案

相冊

C++語言

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

  1//大頂堆數據結構
  2#ifndef MAXHEAP_H
  3#define MAXHEAP_H
  4
  5template<class T>
  6class MaxHeap
  7{
  8public:
  9    
 10    MaxHeap(T a[], int size,int maxsize=50);
 11    MaxHeap(int maxsize=50);
 12    virtual ~MaxHeap();
 13    void   Initialize(T arrays[],int size,int array_size);//用數組對堆重新進行初始化
 14    MaxHeap<T>& Insert( T value);
 15    MaxHeap<T>& DeleteMax(T& value );
 16    bool IsEmpty(){return CurrentSize==0?true:false;};
 17    int Size(){return CurrentSize;}
 18    void Init(T a[]);
 19
 20private:
 21    void ModifyUp(int start);
 22    void ModifyDown(int start,int end);
 23
 24private:
 25    T *Data;
 26    int MaxSize;
 27    int CurrentSize;
 28
 29}
;
 30
 31
 32template<class T>
 33MaxHeap<T>::MaxHeap(T a[], int size,int maxsize)
 34{
 35    Data=a;
 36CurrentSize=size;
 37MaxSize=maxsize;
 38forint i=CurrentSize/2;i>=1;i--)
 39{
 40ModifyDown(i,CurrentSize);
 41
 42}

 43
 44}

 45
 46//-----------------------------------------------------------------------
 47template<class T>
 48void  MaxHeap<T>::Initialize(T arrays[],int size,int array_size)
 49{
 50if(Data)
 51delete[] Data;
 52
 53Data=arrays;
 54
 55CurrentSize=size;
 56MaxSize=array_size;
 57
 58for(int i=CurrentSize/2;i>=1;i--)
 59{
 60ModifyDown(i,CurrentSize);
 61}

 62}

 63
 64//-------------------------------------------------------------------------
 65template<class T>
 66MaxHeap<T>::MaxHeap(int maxsize)
 67{
 68    //0號單元不用舍棄,數據從一號單元填入
 69MaxSize=maxsize;
 70Data=new T[MaxSize+1];
 71CurrentSize=0;
 72}

 73
 74//-------------------------------------------------------------------------
 75template<class T>
 76 MaxHeap<T>::~MaxHeap()
 77    {
 78    
 79    delete[] Data;
 80    
 81    }

 82
 83//-------------------------------------------------------------------------
 84template<class T>
 85MaxHeap<T>& MaxHeap<T>::Insert(T value)
 86{
 87if(CurrentSize==MaxSize)
 88{
 89    cout<<"錯誤:堆空間已滿."<<endl;
 90    throw exception("堆空間已滿");
 91
 92}

 93
 94Data[++CurrentSize]=value;
 95ModifyUp(CurrentSize);//重新調整堆
 96return *this;
 97}

 98    
 99//-------------------------------------------------------------------------
100template<class T>    
101MaxHeap<T>& MaxHeap<T>::DeleteMax( T& value )
102{
103
104if(CurrentSize==0)
105{
106    cout<<"錯誤:堆空."<<endl;
107    throw exception("堆空");
108
109}

110value=Data[1];
111
112Data[1]=Data[CurrentSize--];
113
114ModifyDown(1,CurrentSize);//重新調整堆
115return *this;
116}

117
118
119//-------------------------------------------------------------------------
120template<class T>
121void MaxHeap<T>::ModifyUp(int start)
122    {
123    int i=start;
124    T x=Data[i];
125    //當未到達根結點并且start所指節點值大于其父節點時進行移動    
126    while(i!=1&&x>Data[i/2])
127    {
128Data[i]=Data[i/2];//將父節點下移
129i/=2;//i指針上移
130    }

131Data[i]=x;
132return ;
133    }

134
135//----------------------------------------------------------------
136template<class T>
137void MaxHeap<T>::ModifyDown(int start,int end)
138    {
139    T x=Data[start];
140
141    int c=2*start;
142    while(c<=end)
143    {
144    if(c<end&&Data[c]<Data[c+1]) c++;
145if(x>Data[c]) break;
146 else
147 {
148 
149Data[c/2]=Data[c];//將孩子上移
150c*=2;
151 }
//if
152    }
//while
153Data[c/2]=x;    
154    }

155#endif
posted on 2008-09-17 19:49 楊彬彬 閱讀(1405) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲午夜精品在线| 欧美日韩久久精品| 亚洲国产精品传媒在线观看| 欧美专区在线播放| 欧美一级在线播放| 久久精品水蜜桃av综合天堂| 久久久人成影片一区二区三区 | 欧美sm视频| 亚洲激情网址| 亚洲精品久久久久| 99香蕉国产精品偷在线观看| 亚洲淫性视频| 免费亚洲一区| 国产精品久久网| 精品动漫一区| 亚洲视频一区| 快射av在线播放一区| 亚洲人午夜精品免费| 亚洲一区二区日本| 免费在线日韩av| 国产精品免费一区二区三区在线观看 | 一区二区三区久久| 久久精品国产一区二区电影 | 国产伦精品一区二区三区在线观看 | 亚洲一区二区伦理| 久久天天狠狠| 欧美午夜宅男影院| 亚洲国产婷婷综合在线精品| 亚洲一区黄色| 亚洲国产成人91精品| 久久av在线| 国产精品一区二区在线观看网站| 亚洲国产精品久久久久| 欧美一区二区三区成人| 亚洲精品久久在线| 毛片av中文字幕一区二区| 国产精品亚洲激情| 正在播放欧美视频| 欧美黑人一区二区三区| 香蕉尹人综合在线观看| 国产精品福利影院| 一区二区成人精品| 亚洲高清在线| 久久亚洲精品中文字幕冲田杏梨 | 欧美激情日韩| 亚洲国产欧洲综合997久久| 久久国产精品99精品国产| 99视频日韩| 欧美日韩国产二区| 亚洲精品久久久久久久久久久久久 | 国产精品久久二区二区| 亚洲国产高清视频| 免费成人小视频| 久久精品国语| 狠狠色伊人亚洲综合成人| 欧美自拍丝袜亚洲| 亚洲欧美乱综合| 国产精品一区三区| 午夜欧美大尺度福利影院在线看| 日韩午夜视频在线观看| 欧美三级视频在线观看| 在线视频精品一区| 99国产精品视频免费观看| 欧美日韩视频一区二区| 中文在线一区| 亚洲视频免费| 国产欧美在线视频| 久久久蜜桃精品| 久久蜜桃精品| 亚洲毛片一区二区| 一区二区三区www| 国产精品嫩草影院一区二区| 欧美在线高清| 美女久久网站| 亚洲一区成人| 香蕉成人久久| 亚洲国产精品视频一区| 亚洲高清免费在线| 欧美午夜精品久久久久久浪潮| 亚洲欧美国产视频| 久久精品99久久香蕉国产色戒| 在线成人小视频| 亚洲精品视频免费| 国产日韩免费| 91久久午夜| 国产精品美女久久久久久2018 | 欧美日韩免费观看一区=区三区| 亚洲一区二区三区影院| 午夜视频一区二区| 亚洲国产视频一区| 一区二区三区四区国产| 国产日韩欧美在线播放不卡| 欧美成年人视频| 国产精品久久久一区二区三区| 久久影视精品| 国产精品盗摄一区二区三区| 久久久免费观看视频| 欧美视频免费在线| 免费亚洲电影在线| 国产精品女人网站| 欧美激情1区2区| 国产欧美不卡| 日韩视频一区二区三区在线播放免费观看 | 欧美日韩免费高清| 久久一二三国产| 欧美日韩亚洲一区二区三区在线观看| 亚洲欧美中文另类| 欧美激情综合亚洲一二区| 久久久久**毛片大全| 欧美日韩中文字幕在线| 免费不卡亚洲欧美| 国产日韩精品久久久| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产一区二区成人| 中文无字幕一区二区三区| 在线国产亚洲欧美| 午夜精品免费| 午夜精品久久久久久99热软件| 欧美88av| 欧美成人自拍| 今天的高清视频免费播放成人| 亚洲一区二区三区视频播放| 99re6这里只有精品视频在线观看| 久久视频在线视频| 另类av一区二区| 黄色在线一区| 久久精品一区二区三区不卡牛牛| 欧美夜福利tv在线| 国产精品久久久久aaaa九色| 日韩视频在线一区| 亚洲精品中文字| 欧美国产日韩二区| 亚洲国产视频一区| 亚洲美女av电影| 欧美高潮视频| 亚洲精品久久嫩草网站秘色| 日韩亚洲不卡在线| 欧美午夜剧场| 亚洲已满18点击进入久久| 欧美在线关看| 国内精品视频666| 久久精品一区二区三区四区| 老妇喷水一区二区三区| 国产有码一区二区| 久久久精品视频成人| 美女免费视频一区| 亚洲三级免费| 欧美日一区二区三区在线观看国产免 | 国产人成精品一区二区三| 亚洲综合三区| 久久欧美肥婆一二区| 影音先锋亚洲电影| 女生裸体视频一区二区三区| 亚洲电影欧美电影有声小说| 99精品视频免费在线观看| 欧美日本国产视频| 亚洲一区二区三区成人在线视频精品| 午夜免费久久久久| 在线电影一区| 午夜久久福利| 欧美激情一区二区三区| 亚洲伦伦在线| 久久av资源网站| 亚洲国产精品一区二区www在线 | 欧美激情黄色片| 亚洲视频在线免费观看| 久久久久久久一区| 亚洲人成网站色ww在线| 欧美色区777第一页| 欧美专区第一页| 亚洲日本欧美| 欧美一区二区三区四区在线| 亚洲盗摄视频| 国产精品高清网站| 美女免费视频一区| 亚洲一区一卡| 亚洲国产日韩欧美在线图片| 午夜免费日韩视频| 亚洲日本理论电影| 国产日韩欧美一区二区| 欧美精品 日韩| 久久国产欧美| 亚洲私人影院| 亚洲激情图片小说视频| 久久精品久久综合| 一区二区黄色| 亚洲高清一区二| 国产精品视频在线观看| 欧美激情精品久久久久久| 久久久999精品视频| 亚洲午夜久久久| 亚洲精品一区二区三区福利| 麻豆精品精品国产自在97香蕉| 亚洲永久免费| 中文亚洲字幕| 日韩一区二区精品视频| 亚洲国产福利在线| 在线观看成人网| 国模私拍一区二区三区| 国产精品日韩精品|