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

隨筆 - 8  文章 - 26  trackbacks - 0
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(5)

隨筆檔案

文章分類

文章檔案

相冊

C++語言

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

高度優先左高樹與堆的性質類似,都可有作為優先級隊列的底層結構。但應用高度優先左高樹可以很容易的實現兩個優先級隊列的合并操作。

  1//高度優先左高樹(HBLT)實現
  2#ifndef HBLT_H
  3#define HBLT_H
  4#include <queue>
  5//定義HBLT節點結構
  6template<class T>
  7class HBLTNode
  8{
  9
 10public:
 11HBLTNode(T &e,int s)
 12{
 13data=e;
 14sh=s;
 15RightChild=LeftChild=NULL;
 16}

 17
 18public:
 19    T data;
 20    int sh;//高度因子
 21    HBLTNode<T> *RightChild,*LeftChild;
 22}
;
 23
 24//定義HBLT樹結構
 25template<class T>
 26class HBLT
 27{
 28public:
 29    HBLT(){size=0,root=NULL;}
 30    virtual ~HBLT();
 31    HBLT<T>& Insert(T e);//插入新元素
 32    HBLT<T>& DeleteMax(T &e);//刪除并返回最大元素
 33    HBLT<T>& Meld(HBLT<T>& x);
 34    bool IsEmpty(){return root==NULL?true:false;}
 35    void Initialize(T a[],int n);//對HBLT樹重新初始化
 36    int Size(){return size;}
 37private:
 38
 39 HBLTNode<T> *root;//根節點指針
 40 int size;
 41 void Meld(HBLTNode<T>*&x,HBLTNode<T>*y);//將以x,y為根的兩棵HBLT樹合并
 42 void PostVisit(HBLTNode<T> *root);//對樹進行后序遍歷刪除節點
 43
 44}
;
 45
 46
 47template<class T>
 48HBLT<T>::~HBLT()
 49{
 50PostVisit(root);
 51}

 52//----------------------------------------------------------
 53template<class T>
 54void HBLT<T>::Meld(HBLTNode<T>*&x,HBLTNode<T>*y)
 55{
 56if(!y)//y為空樹
 57 return;
 58if(!x)//x為空樹
 59{
 60x=y;
 61return;
 62}

 63
 64if(x->data<y->data) swap(x,y);//保證x指向大值
 65
 66//遞歸合并x的右子樹與y
 67Meld(x->RightChild,y);
 68
 69if(!x->LeftChild)//如果X的左子樹為空則將右子樹移向左邊
 70{
 71x->LeftChild=x->RightChild;
 72x->RightChild=NULL;
 73}

 74else
 75{
 76if(x->LeftChild->sh<x->RightChild->sh)//左子樹沒有右子樹高
 77{
 78swap(x->LeftChild,x->RightChild);
 79x->sh=x->RightChild->sh+1;
 80}

 81}
//if
 82
 83}

 84//-------------------------------------------------------------
 85template<class T>
 86HBLT<T>& HBLT<T>::Insert(T e)
 87{
 88HBLTNode<T> *NewNode=new HBLTNode<T>(e,1);
 89Meld(root,NewNode);
 90size++;
 91return *this;
 92}

 93
 94//-------------------------------------------------------------
 95template<class T>
 96HBLT<T>& HBLT<T>::DeleteMax(T &e)
 97{
 98
 99e=root->data;
100HBLTNode<T> *Left=root->LeftChild;
101HBLTNode<T> *Right=root->RightChild;
102root=Left;
103Meld(root,Right);
104--size;
105return *this;
106}

107
108//-------------------------------------------------------------
109template<class T>
110HBLT<T>& HBLT<T>::Meld(HBLT<T>& x)
111{
112Meld(root,x.root);
113x.root=NULL;
114size=size+x.size;
115return *this;
116}

117//-------------------------------------------------------------
118template<class T>
119void HBLT<T>::PostVisit(HBLTNode<T> *root)
120{
121if(root)
122{
123PostVisit(root->LeftChild);
124PostVisit(root->RightChild);
125delete root;
126}

127}

128//-------------------------------------------------------------
129template<class T>
130void HBLT<T>::Initialize(T a[],int n)
131{
132if(root)
133  PostVisit(root);//刪除以前的節點
134size=n;
135queue<HBLTNode<T>* > Q;
136for(int i=0;i<n;i++)
137{
138HBLTNode<T> *NewNode=new HBLTNode<T>(a[i],1);
139Q.push(NewNode);
140}

141
142for(i=1;i<=n-1;i++)
143{
144HBLTNode<T> *Node1 = Q.front();Q.pop();
145HBLTNode<T> *Node2 = Q.front();Q.pop();
146Meld(Node1,Node2);
147Q.push(Node1);
148}

149
150root = Q.front();
151}

152#endif
posted on 2008-09-18 17:27 楊彬彬 閱讀(1580) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲激情成人在线| 欧美成人免费全部| 男人插女人欧美| 欧美福利专区| 国产精品久久久久免费a∨大胸| 国产精品国产三级国产专区53| 黑人巨大精品欧美一区二区| 亚洲欧洲综合另类| 欧美一区二区三区精品电影| 欧美成人影音| 亚洲午夜精品国产| 另类专区欧美制服同性| 欧美日韩一区二区在线视频| 亚洲第一毛片| 亚洲国产老妈| 性欧美长视频| 欧美大片专区| 亚洲男人的天堂在线aⅴ视频| 老司机精品导航| 国产精品视频99| 亚洲精品免费在线| 久久国产一二区| 99视频国产精品免费观看| 久久久久久一区| 国产精品国产三级国产aⅴ浪潮| 亚洲第一中文字幕| 久久av红桃一区二区小说| 最新国产乱人伦偷精品免费网站| 欧美一级免费视频| 国产精品啊v在线| 亚洲精品国偷自产在线99热| 久久久精品日韩欧美| 一本大道久久a久久精二百| 久久久久久久成人| 国产精品夜夜夜一区二区三区尤| 亚洲精品一区二区三区樱花| 久久人人爽国产| 亚洲一区欧美| 欧美视频亚洲视频| 亚洲精品精选| 蜜臀久久99精品久久久画质超高清| 亚洲一区二区三区涩| 欧美日本国产视频| 亚洲日本免费电影| 能在线观看的日韩av| 欧美制服丝袜| 国产亚洲精品福利| 欧美一区1区三区3区公司| 99精品99久久久久久宅男| 欧美激情二区三区| 亚洲精品乱码视频| 欧美高清视频www夜色资源网| 久久精品国产综合精品| 国产一区二区| 久久不射2019中文字幕| 亚洲一区二区3| 国产精品av一区二区| 亚洲视频在线观看三级| 亚洲免费成人av电影| 欧美日韩国产首页在线观看| 亚洲欧洲日本在线| 欧美高清在线精品一区| 久久婷婷影院| 亚洲东热激情| 欧美激情一区二区三区成人| 99热这里只有精品8| 久久久久久久精| 欧美在线看片| 一区二区三区亚洲| 免费在线观看日韩欧美| 另类国产ts人妖高潮视频| 亚洲电影下载| 亚洲国产成人精品视频| 欧美a一区二区| 日韩午夜黄色| 99精品国产高清一区二区 | 先锋影音国产一区| 亚洲香蕉视频| 国产日韩欧美视频在线| 久久免费国产精品1| 久久天天躁夜夜躁狠狠躁2022 | 日韩亚洲欧美中文三级| 欧美视频一区二| 性欧美1819sex性高清| 亚洲欧美视频一区| 国内精品久久久久影院色 | 日韩一二三区视频| 国产精品白丝黑袜喷水久久久 | 久久亚洲精品视频| 欧美11—12娇小xxxx| 日韩写真在线| 亚洲一区黄色| 影音先锋久久久| 亚洲破处大片| 国产精品成人免费| 久久乐国产精品| 蜜乳av另类精品一区二区| 一本色道久久综合狠狠躁篇怎么玩| 日韩亚洲精品在线| 国产亚洲精品成人av久久ww| 欧美成人精品在线| 欧美日韩亚洲一区| 欧美在线精品一区| 蜜臀99久久精品久久久久久软件| 亚洲三级观看| 亚洲欧美国产一区二区三区| 在线播放日韩| 99精品热视频| 精品成人一区二区| 亚洲乱码精品一二三四区日韩在线 | 开心色5月久久精品| 一本大道久久a久久精品综合 | 久久精品国产第一区二区三区最新章节| 在线成人小视频| 亚洲三级性片| 国产日韩欧美亚洲| 亚洲精品欧洲| 国产亚洲女人久久久久毛片| 亚洲激情二区| 国产一区二区三区高清在线观看| 欧美激情视频一区二区三区在线播放| 欧美日韩在线播| 免费精品视频| 国产精品高潮在线| 欧美激情第9页| 国产美女精品人人做人人爽| 亚洲国产美女| 国内久久婷婷综合| 一本色道**综合亚洲精品蜜桃冫 | 欧美a一区二区| 久久久久久电影| 欧美视频在线免费| 欧美高清视频在线播放| 国产精品午夜视频| 亚洲国产网站| 加勒比av一区二区| 亚洲免费视频成人| 一区二区三欧美| 久久亚洲综合色一区二区三区| 午夜影院日韩| 欧美精品一区在线| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩一区高清| 亚洲国产一成人久久精品| 国模精品一区二区三区| 亚洲视频在线免费观看| 日韩一级二级三级| 久热国产精品视频| 久久精品水蜜桃av综合天堂| 欧美系列电影免费观看| 91久久国产自产拍夜夜嗨| 在线观看精品视频| 久久电影一区| 久久精品欧洲| 欧美色中文字幕| 亚洲国产精品成人久久综合一区| 激情文学综合丁香| 欧美一区二区三区四区高清| 亚洲欧美日韩另类精品一区二区三区 | 在线视频欧美日韩精品| 欧美成人免费观看| 欧美大胆人体视频| 在线观看亚洲a| 久久久精品一品道一区| 久久久999精品免费| 国产乱码精品| 亚洲欧美日韩专区| 午夜亚洲一区| 国产精品日韩一区二区三区| 中文高清一区| 一本色道久久综合精品竹菊| 欧美激情中文不卡| 亚洲日本aⅴ片在线观看香蕉| 亚洲激情一区| 欧美成人三级在线| 亚洲国产精品ⅴa在线观看| 91久久精品网| 欧美激情片在线观看| 亚洲激情av在线| 99精品视频免费| 欧美日韩视频在线观看一区二区三区| 91久久午夜| 中文久久乱码一区二区| 欧美视频在线观看| 亚洲少妇最新在线视频| 午夜亚洲性色福利视频| 国产情人节一区| 久久国产一区| 欧美成人影音| 99国内精品久久| 国产精品红桃| 亚洲女爱视频在线| 久久午夜国产精品| 亚洲国产裸拍裸体视频在线观看乱了 | 国语自产偷拍精品视频偷 | 欧美日韩不卡合集视频| 日韩一级精品视频在线观看| 亚洲一区二区三区中文字幕在线 | 精品盗摄一区二区三区| 美国十次了思思久久精品导航|