亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minheap.h

?? 傳統Huffman的具體算法
?? H
字號:
/****************  算法5.12 堆的類定義和篩選法  **********************/
/****************           MinHeap.h           **********************/

#define FALSE 0
#define TRUE 1

template <class T>
class MinHeap  { 							//最小堆類定義
private:
	T* heapArray;							//存放堆數據的數組
	int CurrentSize;						//當前堆中元素數目
	int MaxSize;							//堆所能容納的最大元素數目
	void swap(int pos_x, int pos_y);		//交換位置x和y的元素
	void BuildHeap();						//建堆
public:
	MinHeap(const int n);				 //構造函數,n表示初始化堆的最大元素數目
	virtual ~MinHeap(){delete []heapArray;}; 	//析構函數
    bool isLeaf(int pos) const;		 	    //如果是葉結點,返回TRUE
	int leftchild(int pos) const;		   	//返回左孩子位置
	int rightchild(int pos) const;			//返回右孩子位置
	int parent(int pos) const;				//返回父結點位置
	bool Remove(int pos, T& node);			//刪除給定下標的元素
	bool Insert(const T& newNode);			//向堆中插入新元素newNode
	T& RemoveMin();				        	//從堆頂刪除最小值
	void SiftUp(int position);			 //從position向上開始調整,使序列成為堆
	void SiftDown(int left);             //篩選法函數,參數left表示開始處理的數組下標
};
template<class T>
MinHeap<T>::MinHeap(const int n)  {
	if(n <= 0)
		return;
	CurrentSize = 0;													
	MaxSize = n;							//初始化堆容量為n
	heapArray = new T[MaxSize];		    //創建堆空間
	//此處進行堆元素的賦值工作
	BuildHeap();
}
template<class T>
bool MinHeap<T>::isLeaf(int pos) const  {
	return (pos >= CurrentSize/2) && (pos < CurrentSize);
}

template<class T>
void MinHeap<T>::BuildHeap()  {
	for (int i = CurrentSize/2-1; i >= 0; i--) 	//反復調用篩選函數
		SiftDown(i);
}

template<class T>
int MinHeap<T>::leftchild(int pos) const  {
	return 2*pos + 1;						//返回左孩子位置
}

template<class T>
int MinHeap<T>::rightchild(int pos) const  {
	return 2*pos + 2;						  //返回右孩子位置
}

template<class T>
int MinHeap<T>::parent(int pos) const  {
	return (pos-1)/2;						   //返回父結點位置
}

template <class T>
bool MinHeap<T>::Insert(const T& newNode)  {  //向堆中插入新元素newNode
	if(CurrentSize == MaxSize)				   //堆空間已經滿
		return FALSE;
	heapArray[CurrentSize] = newNode;
	SiftUp(CurrentSize);					   //向上調整
	CurrentSize++;
	return TRUE;
}


template<class T>
void MinHeap<T>::swap(int pos_x, int pos_y)     //交換位置x和y的元素
{
 T temp = heapArray[pos_x];
 heapArray[pos_x] = heapArray[pos_y];
 heapArray[pos_y] = temp;
}

template<class T>
T& MinHeap<T>::RemoveMin()	 {				//從堆頂刪除最小值
	if (CurrentSize == 0)  {
		cout<< "Can't Delete" <<endl;
//		exit(0);
	}
	else  {
		swap(0,--CurrentSize);					//交換堆頂和最后一個元素
		if(CurrentSize>1)
			SiftDown(0);						//從堆頂開始篩選
		return heapArray[CurrentSize];
	}
}

template<class T>
bool MinHeap<T>::Remove(int pos, T& node)  {    // 刪除給定下標的元素
	if((pos < 0) || (pos >= CurrentSize))
		return false;
	T temp = heapArray[pos];
	heapArray[pos] = heapArray[--CurrentSize];		//指定元素置于最后
	SiftUp(pos);								//上升調整
	SiftDown(pos);							//向下調整
	node = temp;
	return true;
}

template <class T>
void MinHeap<T>::SiftDown(int left)  {
	int i = left;						//標識父結點
	int j = leftchild (i);					//標識關鍵值較小的子結點
	T	temp = heapArray[i];			//保存父結點
	while (j < CurrentSize)  		{   	//過篩
		if((j < CurrentSize-1) && (heapArray[j]>heapArray[j + 1]))
			j++;						//j指向右子結點
		if (temp>heapArray[j])  {
			heapArray[i] = heapArray[j];
			i = j;
			j = leftchild(j);				//向下繼續
		}
		else break;
	}
	heapArray[i] = temp;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性欧美疯狂xxxxbbbb| 久久久久久久综合日本| 亚洲资源中文字幕| 日日摸夜夜添夜夜添精品视频 | 亚洲欧美日韩久久| 亚洲三级在线免费| 亚洲精品v日韩精品| 伊人色综合久久天天人手人婷| 亚洲欧美激情一区二区| 亚洲老司机在线| 一区二区三区欧美亚洲| 亚洲va韩国va欧美va| 日本午夜精品一区二区三区电影 | 一区二区三区在线视频观看58| 亚洲精品视频免费看| 亚洲国产综合色| 蜜桃视频在线观看一区二区| 国产又黄又大久久| 91香蕉视频黄| 777a∨成人精品桃花网| 久久久美女毛片| 中文字幕一区二区日韩精品绯色| 亚洲自拍偷拍av| 国产一区二区在线看| 不卡的av在线| 制服丝袜av成人在线看| 久久奇米777| 亚洲午夜一二三区视频| 久久99久久精品欧美| 91丝袜美腿高跟国产极品老师| 欧美日韩高清一区二区三区| 91久久国产最好的精华液| 欧美刺激午夜性久久久久久久| 欧美—级在线免费片| 午夜欧美在线一二页| 国产一区二区导航在线播放| 色偷偷成人一区二区三区91| 精品久久人人做人人爰| 一区二区三区四区av| 国产一区二区三区在线观看免费 | 国产福利一区二区三区在线视频| 91老司机福利 在线| 精品国产乱码久久久久久影片| 一区二区三区国产精华| 国产精品一区二区男女羞羞无遮挡| 色综合激情五月| 久久久久国产成人精品亚洲午夜| 一区二区三区精密机械公司| 成人综合在线观看| 日韩欧美不卡在线观看视频| 亚洲在线中文字幕| 国产凹凸在线观看一区二区 | 国产一区二区三区在线观看精品 | 麻豆精品国产传媒mv男同| 粉嫩绯色av一区二区在线观看| 欧美一区二区三区视频在线| 亚洲欧美激情小说另类| 波多野结衣在线一区| 久久综合久久综合久久| 欧美aⅴ一区二区三区视频| 一本一道久久a久久精品 | 97精品视频在线观看自产线路二| 精品欧美一区二区久久| 午夜精品影院在线观看| 色噜噜狠狠色综合中国 | 欧美日韩久久一区| 亚洲乱码日产精品bd| 91在线播放网址| 17c精品麻豆一区二区免费| 成人高清免费观看| 国产亚洲成年网址在线观看| 国产一区二区精品久久| 欧美精品一区二区三区一线天视频| 日韩精品亚洲一区| 欧美老女人在线| 青青草国产成人av片免费| 欧美精品123区| 裸体健美xxxx欧美裸体表演| 日韩三级视频在线观看| 狠狠色狠狠色综合系列| 久久老女人爱爱| 不卡的av网站| 亚洲欧美乱综合| 精品1区2区3区| 日本va欧美va精品发布| 欧美一级午夜免费电影| 狠狠色伊人亚洲综合成人| 久久久国产精品午夜一区ai换脸| 国产成人免费在线观看不卡| 专区另类欧美日韩| 99久久精品免费看| 亚洲va国产va欧美va观看| 日韩免费在线观看| 国产麻豆成人传媒免费观看| 日韩美女视频一区| 欧美精品亚洲一区二区在线播放| 免费不卡在线视频| 中文字幕第一区二区| 日本精品裸体写真集在线观看| 日韩精品亚洲一区二区三区免费| 久久久久88色偷偷免费| 91在线视频播放地址| 日韩国产一区二| 亚洲国产高清在线观看视频| 欧美伊人精品成人久久综合97 | 日本一区二区三区四区| 色综合久久天天| 久久99日本精品| 中文字幕亚洲成人| 日韩一区二区在线免费观看| 粉嫩一区二区三区性色av| 亚洲已满18点击进入久久| 精品久久久久久久人人人人传媒| 99久久夜色精品国产网站| 青青国产91久久久久久| 国产精品麻豆久久久| 日韩欧美一区二区视频| 99精品欧美一区二区三区小说| 三级一区在线视频先锋| 亚洲色图一区二区| 精品sm在线观看| 欧美理论电影在线| 色婷婷久久久亚洲一区二区三区| 久久国内精品视频| 午夜精品福利视频网站| 亚洲欧美另类综合偷拍| 久久久国产一区二区三区四区小说 | 国产米奇在线777精品观看| 久久综合色综合88| 欧美男女性生活在线直播观看| eeuss鲁一区二区三区| 国产九色sp调教91| 久久精品理论片| 青青草成人在线观看| 亚洲第一久久影院| 亚洲一区二区三区四区五区黄 | 91在线免费播放| 国产成人小视频| 国产大陆亚洲精品国产| 久久99精品国产麻豆不卡| 青娱乐精品视频| 日本不卡123| 麻豆国产一区二区| 美女爽到高潮91| 麻豆精品在线观看| 久久精品久久精品| 精品综合久久久久久8888| 奇米精品一区二区三区四区| 日本三级亚洲精品| 日韩电影在线观看一区| 欧美aaa在线| 日韩高清国产一区在线| 免费在线观看一区| 天天射综合影视| 日韩精品久久久久久| 老司机精品视频导航| 国产一区二区h| 91猫先生在线| 欧美三级电影在线看| 5月丁香婷婷综合| 精品国产一区二区三区久久久蜜月 | 日日夜夜一区二区| 亚洲另类色综合网站| 亚洲主播在线观看| 蜜臀精品一区二区三区在线观看 | 日韩国产欧美在线播放| 秋霞午夜鲁丝一区二区老狼| 韩国av一区二区三区在线观看| 国产一区二区美女诱惑| av电影天堂一区二区在线| 欧美自拍偷拍一区| 日韩写真欧美这视频| 成人丝袜18视频在线观看| 日本伦理一区二区| 555夜色666亚洲国产免| 久久久精品人体av艺术| 日韩一区在线播放| 亚洲bt欧美bt精品| 国内欧美视频一区二区| 色婷婷综合久久久中文字幕| 欧美一卡二卡三卡四卡| 国产精品电影一区二区三区| 亚洲综合视频在线| 韩国女主播一区二区三区| 一本到高清视频免费精品| 日韩欧美精品在线| 亚洲欧美日韩小说| 久久se这里有精品| 欧美亚洲综合网| 久久久久久久久久久久久夜| 一区二区三区在线高清| 国产一区欧美日韩| 欧美精品aⅴ在线视频| 亚洲国产精品精华液ab| 天天综合色天天| 91浏览器入口在线观看| 精品对白一区国产伦| 免费观看日韩电影| 色94色欧美sute亚洲13| 亚洲精品在线免费观看视频|