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

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

?? p350.cpp

?? 殷人昆 數據結構 一些書中的源代碼 系某師兄所做 c++版
?? CPP
字號:
#include "iostream.h"
#ifndef MAXKEY
#define MAXKEY 32767
#endif
		const MaxM=100;
		template <class Type> class Mtree;
		template <class Type> class Btree;
		template <class Type> class Mnode {					// B_樹結點類定義
		public:
			void insertkey(int,Type,Mnode<Type>*);
			Mnode(){n=0;parent=NULL;for (int i=0;i<=MaxM;i++) ptr[i]=NULL;}
		private:
		   int n;									//當前結點中關鍵碼個數
		   Mnode<Type> *parent;						//雙親結點指針
		   Type key[MaxM+1];								//key[MaxM]為監視哨兼工作單元, key[0]未用
		   Mnode<Type> *ptr[MaxM+1];						//子樹結點指針數組, ptr[m]未用
		   friend ostream& operator <<(ostream& strm, Mnode<Type>& mn);
		   friend class Mtree<Type>;
		   friend class Btree<Type>;
		};
		
		template <class Type>
		class Triple {								//搜索結果
		public:
		   Mnode<Type> *r;							//B_樹結點地址
		   int i;  char tag;							//結點中關鍵碼序號及搜索成功標志
		   friend ostream& operator <<(ostream& strm, Triple<Type>& tp);
		};

		template <class Type> class Mtree {                 
		public:
		   Mtree(int d=3){root=NULL;m=d;};		   
		   void insertkey(Mnode<Type>*,int,Type,Mnode<Type>*);
		   Triple<Type>  Search ( const Type & );
		   friend ostream& operator <<(ostream& strm, Mtree<Type>& mt);
		protected:
			void move ( Mnode<Type>*p, Mnode<Type>*q, int s, int m );
			void print(ostream& strm,Mnode<Type> *p);
		   Mnode<Type> *root;
		   int m;
		};

		template <class Type> Triple<Type>  Mtree<Type>::Search ( const Type & x ) {
		//用關鍵碼x搜索駐留在磁盤上的m路搜索樹。各結點格式為n, A[0], (k[1],A[1]),……,  (K[n],A[n]), n < m。
		//函數返回一個類型為Triple (r, i, tag)的對象。tag=1, 表示x 在結點r找到, 是該結點的K[i];  tag=0, 表
		//示沒有找到x, 這時可以插入的結點是r, 插入到該結點的K[i]與K[i+1]之間。
		   Triple<int> result;							//存放結果的工作單元
		   GetNode ( root );						//從磁盤上讀取位于根root的結點
		   Mnode <Type> *p = root, *q = NULL;			//p是掃描指針, q是p的父結點指針
		   int i;
		   while ( p != NULL ) {						//繼續搜索
			 i = 0;  p->key[(p->n)+1] = MAXKEY;
			 while ( p->key[i+1] < x ) i++;				//在結點內順序搜索
			 if ( p->key[i+1] == x ) {					//搜索成功, 本結點有x
				result.r = p;  result.i = i+1;  result.tag = 0;
				return result;					//返回結果, 返回主程序
			 }
			 q = p;  p = p->ptr[i];					//本結點無x, q記下當前結點, p下降到相應子樹			 GetNode (p);							//從磁盤上讀取p結點
		   }
		   result.r = q;  result.i = i;  result.tag = 1;
		   return result;							//x可能落入的區間[ Ki, Ki+1 )
		}
		template <class Type> class Btree : public Mtree<Type> {		//B_樹的類定義
		public:
		   //Search從Mtree繼承;
		   int Insert ( const Type& x );						//插入關鍵碼x
		   int Remove ( const Type& x );					//刪除關鍵碼x
		private:		
		void LeftAdjust ( Mnode<Type> *p, Mnode<Type> *q, const int d, const int j );
		void RightAdjust ( Mnode<Type> *p, Mnode<Type> *q, const int d, const int j );
		void compress ( Mnode<Type> *p, const int j );
		void merge ( Mnode<Type> *p, Mnode<Type> *q, Mnode<Type> *p1, int j) ;

		};
		template <class Type>
			void GetNode(Mnode<Type> *p)
		{
			//理論上應該從磁盤讀入結點p,現在這里可以為空
		};		
		template <class Type>
			void PutNode(Mnode<Type> *p)
		{
			//理論上應該從磁盤寫結點p,現在這里可以為空
		};		

		template <class Type>
			void Mtree<Type>::print(ostream& strm,Mnode<Type> *p)
		{
			if (p)
			{		
			strm<<*p;
			if (p->n)
			{	strm<<"(";
				for (int i=0;i<=p->n;i++)				
					print(strm,p->ptr[i]);
			
				strm<<")";
			}
			}
		}
		template <class Type>
		ostream& operator <<(ostream& strm, Mtree<Type>& mt)
		{
			mt.print(strm,mt.root);
			return strm;
		}
		template <class Type>
		ostream& operator <<(ostream& strm, Mnode<Type>& mn)
		{
			strm<<"[";
			for (int i=1;i<=mn.n;i++)
			{
				if (i!=1) strm<<',';
				strm<<mn.key[i];
			}
			strm<<"]";
			return strm;
			
		}
	template <class Type>
	 ostream& operator <<(ostream& strm, Triple<Type>& tp)
	{
		if (tp.tag) strm<<"Key Not Found";
			else
			strm<<"Key Found at :"<<*tp.r<<" No. "<<tp.i<<" key";
		return strm;
	}
	template <class Type>
		void Mnode<Type>::
	insertkey(int i,Type K,Mnode<Type>* q)
	{
		for (int j=n;j>=i;j--)
		{
			key[j+1]=key[j];
			ptr[j+1]=ptr[j];
		}
		key[i]=K;
		ptr[i]=q;
		n++;
	};
	template <class Type>
		void Mtree<Type>::
	insertkey(Mnode<Type>* p,int i,Type K,Mnode<Type>* q)
	{
		p->insertkey(i,K,q);
	}
	template <class Type>
		void Mtree<Type>::move ( Mnode<Type>*p, Mnode<Type>*q, int s, int m )
	//將 p的key[s+1..m]和ptr[s..m]移到q的key[1..s-1]和ptr[0..s-1]
	//p->n改為s, q->n改為m-s
	{
		int j=0;
		q->ptr[0]=p->ptr[s];
		if (q->ptr[0])
			q->ptr[0]->parent=q; 
		for (int i=s+1;i<=m;i++)
		{
			j++;
			q->key[j]=p->key[i];
			q->ptr[j]=p->ptr[i];
			if (q->ptr[j])
				q->ptr[j]->parent=q;
		}
		q->n=m-s;
		p->n=s-1;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3atv在线一区二区三区| 色婷婷久久久久swag精品| 亚洲国产精品一区二区久久 | 亚洲国产欧美日韩另类综合| 亚洲欧美激情小说另类| 亚洲色图制服丝袜| 亚洲婷婷在线视频| 亚洲一区精品在线| 亚洲第一综合色| 日本系列欧美系列| 久久99久久99精品免视看婷婷| 亚欧色一区w666天堂| 日日骚欧美日韩| 日本不卡高清视频| 久久99九九99精品| 国产精品白丝av| 99在线精品免费| 欧美无人高清视频在线观看| 91麻豆精品国产自产在线观看一区| 欧美一区三区四区| 欧美精品一区二区在线观看| 中文字幕第一区二区| 亚洲欧洲一区二区在线播放| 一区二区三区资源| 美女一区二区视频| 成人性生交大片免费看视频在线| aaa亚洲精品| 777亚洲妇女| 国产无遮挡一区二区三区毛片日本| 中文字幕乱码日本亚洲一区二区| 一区二区高清免费观看影视大全| 免费欧美日韩国产三级电影| 丁香婷婷综合五月| 欧美一级搡bbbb搡bbbb| 国产精品热久久久久夜色精品三区| 一区二区三区在线视频免费观看| 久久国产剧场电影| 色综合久久久久久久久久久| 精品国产成人系列| 亚洲一区二区综合| 国产成人av网站| 欧美亚洲自拍偷拍| 国产精品久久久久久久久久免费看| 亚洲大片免费看| 成人一区在线看| 日韩亚洲欧美成人一区| 亚洲欧美色综合| 国产成人精品影院| 正在播放一区二区| 亚洲女人****多毛耸耸8| 国产一区999| 日韩一区和二区| 亚洲夂夂婷婷色拍ww47 | 欧美国产日韩一二三区| 日韩av一级电影| 成人免费看片app下载| 欧美浪妇xxxx高跟鞋交| 一区二区在线观看视频| 成人午夜碰碰视频| 久久久99精品免费观看| 久久精品国产在热久久| 欧美精品在线视频| 亚洲永久免费视频| 91色视频在线| 亚洲天堂成人网| 国产91丝袜在线播放| 精品国产乱码久久久久久图片| 亚洲chinese男男1069| 色综合久久久久网| 亚洲精品高清视频在线观看| 91老师片黄在线观看| 国产精品女主播av| av在线一区二区三区| 亚洲手机成人高清视频| 91免费版pro下载短视频| 国产精品天干天干在线综合| 成人av免费在线| 亚洲欧美在线高清| 色呦呦网站一区| 亚洲国产成人av网| 欧美久久久久久久久久| 日本不卡一区二区| 日韩一区二区三区观看| 久久99精品久久久久婷婷| 精品国产欧美一区二区| 国产激情视频一区二区三区欧美 | 97久久精品人人澡人人爽| 国产精品久久久久永久免费观看| av电影在线观看不卡| 一区二区三区欧美日韩| 欧美日本一区二区三区四区| 久久精品99久久久| 欧美国产精品久久| 在线看不卡av| 美女视频黄 久久| 欧美国产成人精品| 欧美色图片你懂的| 韩国女主播一区| 亚洲欧美日韩国产综合| 在线91免费看| 国产高清精品网站| 亚洲图片欧美综合| 精品电影一区二区| 色老头久久综合| 免费观看91视频大全| 欧美韩国日本不卡| 91麻豆精品国产91久久久久久 | 日韩电影在线免费| 久久九九国产精品| 欧美性大战久久久久久久蜜臀| 毛片av一区二区三区| 亚洲精品视频在线观看网站| 欧美va日韩va| 欧美专区日韩专区| 国产99久久久国产精品潘金网站| 亚洲综合色婷婷| 国产欧美日韩在线看| 欧美丰满少妇xxxxx高潮对白| 国产麻豆午夜三级精品| 天天操天天综合网| 亚洲天堂av一区| 久久久午夜电影| 欧美电影一区二区| 色欧美乱欧美15图片| 国产剧情一区在线| 久草精品在线观看| 丝瓜av网站精品一区二区| 国产精品不卡在线观看| 精品久久免费看| 在线电影欧美成精品| 91天堂素人约啪| 国产99精品国产| 免费精品视频在线| 亚洲精品久久久蜜桃| 国产午夜精品理论片a级大结局| 3d成人动漫网站| 欧美嫩在线观看| 色国产精品一区在线观看| av资源站一区| 成人av影院在线| 9l国产精品久久久久麻豆| 国产经典欧美精品| 国产精品一区二区在线观看不卡| 免费看精品久久片| 麻豆精品视频在线| 免费在线观看一区二区三区| 日韩精品一二区| 五月天亚洲精品| 日本成人在线电影网| 五月婷婷综合在线| 首页国产欧美日韩丝袜| 亚洲二区在线视频| 亚洲mv在线观看| 视频一区国产视频| 男人的j进女人的j一区| 久久99精品视频| 国产福利不卡视频| 欧美色综合久久| 777精品伊人久久久久大香线蕉| 在线成人午夜影院| 精品福利一二区| 国产精品午夜春色av| 国产精品家庭影院| 亚洲宅男天堂在线观看无病毒| 亚洲第一二三四区| 精彩视频一区二区| 成人免费看片app下载| 色综合久久综合网97色综合 | 国产精品一级在线| eeuss影院一区二区三区| 色婷婷狠狠综合| 91精品国产综合久久久久久久| 日韩色在线观看| 中文字幕免费不卡| 亚洲国产精品视频| 精品一区二区三区欧美| 粗大黑人巨茎大战欧美成人| 一本久久a久久精品亚洲| 欧美一区二区三区免费在线看| 精品国产a毛片| 亚洲欧美激情在线| 久久成人免费网站| 99热精品一区二区| 9191久久久久久久久久久| 久久综合九色综合欧美98| 亚洲人123区| 激情综合色播五月| 色哟哟国产精品免费观看| 日韩美女主播在线视频一区二区三区| 国产欧美在线观看一区| 亚洲mv在线观看| eeuss鲁一区二区三区| 日韩免费一区二区| 亚洲男人的天堂在线观看| 麻豆精品在线看| 欧美日韩一区二区三区四区| 中文字幕+乱码+中文字幕一区| 视频一区二区欧美| 99久久久精品| 久久精品在这里|