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

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

?? maxheap.h

?? 各種很經典的排序算法
?? H
字號:
// MaxHeap.h: interface for the MaxHeap class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MaxHeap_H__6BC12E9A_B926_47C2_8ACF_AA4004A0546F__INCLUDED_)
#define AFX_MaxHeap_H__6BC12E9A_B926_47C2_8ACF_AA4004A0546F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

template <class T>
class MaxHeap  
{
private:
	T* heapArray;							//存放堆數據的數組
	int CurrentSize;						//當前堆中元素數目
	int MaxSize;							//堆所能容納的最大元素數目
public:
	MaxHeap(T* array,int num,int max);
	virtual ~MaxHeap(){};					//析構函數
	void BuildHeap();
	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);			//刪除給定下標的元素
	void SiftDown(int left);				//篩選法函數,參數left表示開始處理的數組下標
	void SiftUp(int position);			 	//從position向上開始調整,使序列成為堆
	bool Insert(const T& newNode);			//向堆中插入新元素newNode
	void MoveMax();							//從堆頂移動最大值到尾部
	T& RemoveMax();							//從堆頂刪除最大值
};

template<class T>
MaxHeap<T>::MaxHeap(T* array,int num,int max)
{
	heapArray=array;
	CurrentSize=num;
	MaxSize=max;
	BuildHeap();
}

template<class T>
void MaxHeap<T>::BuildHeap()
{
	for (int i=CurrentSize/2-1; i>=0; i--) 
		SiftDown(i); 
}

template<class T>
bool MaxHeap<T>::isLeaf(int pos) const
{
		return (pos>=CurrentSize/2)&&(pos<CurrentSize);
}

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

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

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

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

template<class T>
void MaxHeap<T>::SiftUp(int position) 
{//從position向上開始調整,使序列成為堆
	int temppos=position;
	T temp=heapArray[temppos];
	int parentpos=0;
	if(temppos>0)
		parentpos=parent(temppos);
	while((temppos>0)&&(heapArray[parentpos]<temp))
	{
		heapArray[temppos]=heapArray[parentpos];
		temppos=parentpos;
		parentpos=parent(temppos);
	}
	heapArray[temppos]=temp;
}

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

template<class T>
T& MaxHeap<T>::RemoveMax()
{
	if(CurrentSize==0)
	{
		AfxMessageBox("Can't Delete");

	}
	else
	{
		T temp=heapArray[0];					//取堆頂元素
		heapArray[0]=heapArray[CurrentSize-1];	//堆末元素上升至堆頂
		CurrentSize--;
		SiftDown(0);							//從堆頂開始篩選
		return temp;
	}
}

template<class T>
void MaxHeap<T>::MoveMax()
{
	if(CurrentSize==0)
	{
		//堆為空
		return;
	}
	else
	{
		T temp=heapArray[0];					//取堆頂元素
		heapArray[0]=heapArray[CurrentSize-1];	//堆末元素上升至堆頂
		CurrentSize--;
		SiftDown(0);							//從堆頂開始篩選
		heapArray[CurrentSize]=temp;
	}
	return;
}

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

#endif // !defined(AFX_MaxHeap_H__6BC12E9A_B926_47C2_8ACF_AA4004A0546F__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费在线看| 色成人在线视频| 日韩精品一区二区三区在线| 视频一区二区三区在线| 在线成人小视频| 日韩精品一二三四| 精品免费国产一区二区三区四区| 日本在线播放一区二区三区| 日韩精品中午字幕| 国产ts人妖一区二区| 国产精品色哟哟| 色中色一区二区| 偷拍日韩校园综合在线| 日韩精品一区二区三区swag | 热久久久久久久| 日韩精品影音先锋| 国产成人亚洲综合色影视| 亚洲欧美另类小说视频| 欧美视频日韩视频在线观看| 日本va欧美va欧美va精品| 国产欧美一区二区三区在线老狼| 91色乱码一区二区三区| 日本欧美肥老太交大片| 中文字幕欧美日韩一区| 欧美日韩一区二区三区在线看| 日本免费新一区视频| 欧美激情在线一区二区三区| 欧美在线观看视频一区二区| 老鸭窝一区二区久久精品| 国产精品色婷婷久久58| 欧美一区二区三区日韩| 成人免费视频一区| 日韩av二区在线播放| 中文字幕中文字幕中文字幕亚洲无线| 欧美亚洲动漫另类| 国产精品自拍三区| 午夜天堂影视香蕉久久| 国产精品―色哟哟| 日韩欧美电影一区| 色嗨嗨av一区二区三区| 国产伦精一区二区三区| 午夜电影久久久| 国产精品青草久久| 欧美一激情一区二区三区| 91免费观看国产| 国产精品综合二区| 亚洲va在线va天堂| 日韩理论在线观看| 久久久国产精华| 欧美一区二区三区在线电影| 91视频.com| 成人h版在线观看| 国产一区 二区| 免费的国产精品| 亚洲国产精品久久久男人的天堂| 中文字幕欧美激情一区| 日韩欧美一二三区| 91麻豆精品国产无毒不卡在线观看| 99久久精品99国产精品| 国产精一区二区三区| 日本不卡高清视频| 午夜精品久久久久久久99水蜜桃| 亚洲色欲色欲www在线观看| 国产亚洲午夜高清国产拍精品 | 色哟哟欧美精品| 成人精品亚洲人成在线| 韩国午夜理伦三级不卡影院| 日韩高清欧美激情| 天堂午夜影视日韩欧美一区二区| 亚洲激情图片一区| 亚洲精品免费在线| 亚洲欧美另类小说| 一区二区欧美视频| 日韩伦理电影网| 亚洲男人的天堂在线观看| 最新日韩在线视频| 亚洲欧美日韩系列| 一区二区三区四区在线播放| 樱桃国产成人精品视频| 一区二区三区在线免费视频| 亚洲码国产岛国毛片在线| 亚洲精品国产a| 一区二区三区四区视频精品免费 | 91在线你懂得| 99精品欧美一区| 99re热这里只有精品免费视频| 成人a区在线观看| 色偷偷久久一区二区三区| 色综合久久中文字幕| 91黄色免费版| 欧美精品三级在线观看| 日韩限制级电影在线观看| 久久综合久久综合九色| 337p日本欧洲亚洲大胆精品| 久久九九99视频| 国产精品久久久久久久久晋中| 18成人在线观看| 亚洲成av人在线观看| 久久国产免费看| 国产成人免费视频网站 | 香蕉乱码成人久久天堂爱免费| 日韩在线卡一卡二| 国产在线一区观看| 成人免费毛片嘿嘿连载视频| 91网上在线视频| 欧美精品在线观看播放| 久久影院午夜片一区| 国产女人18水真多18精品一级做| 亚洲欧美一区二区三区极速播放| 亚洲午夜精品在线| 精品一区二区三区免费观看| 成人永久aaa| 欧美日韩在线观看一区二区 | 黄色精品一二区| 99视频超级精品| 欧美一区二区三区视频免费播放 | 91亚洲午夜精品久久久久久| 欧美日本高清视频在线观看| 久久久欧美精品sm网站| 亚洲午夜激情网页| 国产精品99久| 欧美肥大bbwbbw高潮| 欧美极品aⅴ影院| 亚洲动漫第一页| 国产v综合v亚洲欧| 欧美一二三四在线| 亚洲视频电影在线| 国产精品 日产精品 欧美精品| 一本到一区二区三区| 欧美r级电影在线观看| 伊人色综合久久天天| 国产精品99久久久久久宅男| 欧美日本韩国一区二区三区视频| 国产精品视频一二三区| 麻豆精品一区二区三区| 91丨porny丨首页| 久久午夜色播影院免费高清 | 日韩激情一区二区| 99精品视频一区| 国产亚洲短视频| 免费观看30秒视频久久| 日本高清成人免费播放| 亚洲国产精品成人综合| 蜜臀av国产精品久久久久| 在线看国产一区二区| 欧美激情一区二区在线| 久久国内精品自在自线400部| 一本色道亚洲精品aⅴ| 国产女人18水真多18精品一级做| 美女尤物国产一区| 91麻豆精品久久久久蜜臀| 亚洲影院免费观看| 91在线视频观看| 亚洲欧洲国产日韩| 成人一区二区视频| 国产午夜亚洲精品不卡| 精品一区二区三区视频在线观看| 欧美日本视频在线| 婷婷国产在线综合| 欧美日韩中文字幕一区| 一区二区三区波多野结衣在线观看| 99视频精品全部免费在线| 国产精品剧情在线亚洲| 成人综合婷婷国产精品久久| 国产欧美一区二区在线观看| 国产精品123| 国产精品国产馆在线真实露脸 | 婷婷久久综合九色综合伊人色| 欧美亚洲尤物久久| 亚洲电影中文字幕在线观看| 欧美日韩一区二区三区四区| 伊人夜夜躁av伊人久久| 欧美色老头old∨ideo| 亚洲va天堂va国产va久| 91精品国产一区二区三区| 美女视频网站久久| 久久综合资源网| 风间由美一区二区三区在线观看 | 亚洲美女一区二区三区| 日本道精品一区二区三区| 亚洲精品第一国产综合野| 色999日韩国产欧美一区二区| 亚洲欧美偷拍三级| 欧美日韩国产综合久久| 强制捆绑调教一区二区| 2021久久国产精品不只是精品| 国产成人免费在线观看不卡| 国产精品国产a级| 日本道免费精品一区二区三区| 亚洲18色成人| 日韩欧美国产三级| 国产成人精品网址| 亚洲三级理论片| 欧美久久高跟鞋激| 国产盗摄精品一区二区三区在线| 国产精品久99| 这里只有精品99re| 国产很黄免费观看久久| 亚洲人成亚洲人成在线观看图片| 欧美色网一区二区|