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

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

?? p370.cpp

?? 清華大學-數據結構 清華大學-數據結構 清華大學-數據結構
?? CPP
字號:
#ifndef DefaultSize
#define DefaultSize 100
#endif
		template <class Type>
		class HashTable {									//散列表類定義
		public:
		   enum KindOfEntry { Active, Empty, Deleted };				//表項分類 (活動 / 空 / 刪)
		   HashTable ( int sz=DefaultSize ) : TableSize ( sz ) { AllocateHt ( );  CurrentSize = 0; }		//構造函數
		   ~HashTable ( ) { delete [ ] ht; }						//析構函數
		   const HashTable & operator = ( const HashTable & ht2 );		//重載函數:表賦值
		   int Find ( const Type & x );							//在散列表中搜索x
		   int Insert ( const Type & x );							//在散列表中插入x
		   int Remove ( const Type & x );						//在散列表中刪除x
		   int IsIn ( const Type & x ) { return (  Find (x)  >= 0 ) ? 1 : 0; }	//判x在散列表中否
		   void MakeEmpty ( );								//置散列表為空
		   int FindPos ( const Type & x ); 					//散列函數: 計算含x表項的初始桶號
		private:
		   struct HashEntry {								//表項定義
		      Type Element;								//表項的數據, 即表項的關鍵碼
		      KindOfEntry info;								//三種狀態: Active, Empty, Deleted
		      int operator== ( HashEntry & );			//重載函數:表項判等運算
		      int operator!= ( HashEntry & );				//重載函數:表項判不等運算
		      HashEntry ( ) : info (Empty ) { }						//表項構造函數, 置空
		      HashEntry (const Type & E, KindOfEntry i = Empty ) : Element (E), info (i) { }
		   };
		   enum { DefualtSize = 11 };
		   HashEntry *ht;									//散列表存儲數組
		   int CurrentSize, TableSize;							//當前桶數及最大桶數
		   void AllocateHt ( ) { ht = new HashEntry[TableSize ]; }			//為散列表分配存儲空間
		};
		template <class Type> int HashTable<Type>::Find ( const Type & x ) {
		//使用線性探查法在散列表ht (每個桶容納一個表項)中搜索x。如果x在表中存在, 則函數返回x所在
		//位置j, 即ht[j]=x。如果x不在表中, 則返回 -j。
		   int i = FindPos ( x ),  j = i; 						//i是計算出來的散列地址, j是下一空桶
		   while ( ht[j].info != Empty && ht[j].Element != x ) {		//ht[j]不空, 且不等于x,沖突
			 j = ( j + 1 ) % TableSize;						//當做循環表處理, 找下一個空桶 
			 if ( j == i ) return -TableSize-1;					//轉一圈回到開始點, 表已滿, 失敗
		   }
		   if ( ht[j].info == Active ) return j;					//找到滿足要求的表項, 返回桶號j
		   else return -j-1;									//失敗
		}
//	在利用散列表進行各種處理之前,必須首先將散列表中原有的內容清掉,這時我們可以將表中所有表項的info域置為Empty即可。因為散列表存放的是表項集合,不應有重復的關鍵碼,所以在插入新表項時,如果發現表中已經有關鍵碼相同的表項,則不再插入。	特別要注意的是,在閉散列的情形下不能隨便物理刪除表中已有的表項。因為若刪除表項會影響其它表項的搜索。如在圖10.26所示的例子中,若把關鍵碼為Broad的表項真正刪除,把它所在位置的info域置為Empty,那么以后在搜索關鍵碼為Blum和Alton的表項時就查不下去,從而會錯誤地判斷表中沒有關鍵碼為Blum和Alton的表項。所以若想刪除一個表項時,只能給它做一個刪除標記deleted,進行邏輯刪除。但這樣做的副作用是:在執行多次刪除后,表面上看起來散列表很滿,實際上有許多位置沒有利用。因此,當散列表經常變動時,最好不用閉散列方法處理溢出,可改用開散列方法來處理溢出。
//	下面給出散列表其它一些操作的實現。
		template <class Type> void HashTable<Type>::MakeEmpty ( ) {		//清除散列表
		   for ( int i=0; i<TableSize; i++) ht[i].info = Empty;
		   CurrentSize = 0;
		}

		template <class Type> const HashTable<Type> & HashTable<Type>::operator= ( const HashTable<Type> &ht2 ) {
		//重載函數:復制一個散列表ht2
		   if ( this != &ht2 ) {
			 delete [ ] ht;  TableSize = ht2.TableSize;  AllocateHt ( );		//重新分配目標散列表存儲空間
			 for ( int i=0; i<TableSize; i++ ) ht[i] = ht2.ht[i];			//從源散列表向目標散列表傳送
			 CurrentSize = ht2.CurrentSize;						//傳送當前表項個數
		   }
		   return *this;									//返回目標散列表結構指針
		}
      
		template <class Type> int HashTable<Type>::Insert (const Type & x ) {
		//在ht表中搜索x。若找到則不再插入, 若未找到, 但表已滿, 則不再插入, 以上兩種情況, 返回0; 若找到
		//位置的標志是Empty或Deleted, 不論表是否已滿, x插入, 返回1。
		   int i = Find (x);
		   if ( i >= 0 ) return 0;					//表中已有該項, 不再插入
		   i++;
		     if ( i != -TableSize && ht[-i].info != Active ) {			//否則若表項為空插入, i為負數
			 ht[-i].Element = x;  ht[-i].info = Active;  CurrentSize++;		//插入
			 return 1;									//返回插入成功標志1
		   }
		   else return 0; 									//表滿不插入, 返回不成功標志
		}

		template <class Type> int HashTable<Type>::Remove ( const Type & x ) {
		//在ht表中刪除元素x。若表中找不到x, 或雖然找到x, 但它已經邏輯刪除過, 則返回0, 否則在表中刪除
		//元素x, 返回1。
			int i = Find (x);
		   if ( i >= 0 ) 
		   {						//找到要刪元素, 且是活動元素
			 ht[i].info = Deleted;  CurrentSize--;					//做邏輯刪除標志, 并不真正物理刪除
			 return 1;									//刪除操作完成, 返回成功標志
		   }
		   else return 0;									//表中無被刪表項, 返回不成功標志
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1区二区.| 午夜不卡av在线| 日韩欧美国产三级电影视频| 在线观看一区二区视频| 一道本成人在线| 色欧美片视频在线观看在线视频| www.综合网.com| 91精彩视频在线| 91福利资源站| 51精品国自产在线| 日韩精品专区在线影院观看| 精品国产制服丝袜高跟| 久久久久久亚洲综合影院红桃| 久久久99久久| 中文字幕一区二区三区视频 | 国产精品一区二区在线观看不卡 | 欧美国产日韩a欧美在线观看| 欧美精品一区二区三区久久久| 欧美一区2区视频在线观看| 日韩视频一区二区在线观看| 欧美大胆人体bbbb| 国产精品免费网站在线观看| 亚洲欧美日韩在线| 亚洲高清免费视频| 久久精品国产精品亚洲精品 | 亚洲黄色性网站| 亚洲成人av一区| 精品影视av免费| 丰满少妇在线播放bd日韩电影| 91麻豆国产福利在线观看| 欧美性大战久久久久久久| 91精品国产综合久久久蜜臀粉嫩| 日韩欧美你懂的| 亚洲欧美一区二区久久| 日本欧美一区二区在线观看| 国产成人在线视频免费播放| 91麻豆视频网站| 91精品在线免费| 中文字幕av一区二区三区免费看| 一级中文字幕一区二区| 国产一区二区福利| 色偷偷成人一区二区三区91| 日韩欧美激情四射| 一区二区三区日韩欧美精品| 九一久久久久久| 色菇凉天天综合网| 久久青草国产手机看片福利盒子 | 国产美女精品人人做人人爽| 在线欧美小视频| 久久综合五月天婷婷伊人| www国产亚洲精品久久麻豆| 亚洲天堂免费在线观看视频| 国产一区二区在线看| 欧美性猛片aaaaaaa做受| 国产精品污www在线观看| 久久99精品网久久| 精品视频免费看| 亚洲精品视频免费看| 国产成人精品免费网站| 欧美一三区三区四区免费在线看| 一区二区三区高清在线| 国产成人av电影免费在线观看| 欧美老女人第四色| 一区二区三区色| 99精品桃花视频在线观看| 久久久久免费观看| 九九**精品视频免费播放| 99精品国产91久久久久久| 欧美国产丝袜视频| www.99精品| 国产欧美日韩久久| 国产一区二区0| 精品国产91洋老外米糕| 麻豆视频一区二区| 欧美不卡在线视频| 久久99精品久久久久婷婷| 日韩限制级电影在线观看| 日本一道高清亚洲日美韩| 欧美一区二区三区日韩视频| 奇米影视一区二区三区小说| 欧美一区国产二区| 五月天激情综合| 欧美一区二区精品在线| 日本欧美久久久久免费播放网| 777午夜精品视频在线播放| 免费av网站大全久久| 日韩欧美视频在线| 国产成人综合视频| 国产精品不卡在线| 日本久久精品电影| 天天综合色天天| 精品处破学生在线二十三| 国产麻豆视频精品| 亚洲欧美视频在线观看| 欧美日韩久久久| 九色|91porny| 中文字幕在线免费不卡| 欧美日韩精品欧美日韩精品一综合| 天堂va蜜桃一区二区三区漫画版| 日韩区在线观看| 成人夜色视频网站在线观看| 亚洲男同1069视频| 337p亚洲精品色噜噜噜| 福利一区福利二区| 亚洲综合精品自拍| 久久夜色精品国产噜噜av| 国产高清无密码一区二区三区| 亚洲日本在线天堂| 欧美一区二区播放| 色综合色综合色综合| 日韩在线一区二区| 中文字幕欧美三区| 欧美日韩精品免费| 成人av免费网站| 视频在线观看一区二区三区| 国产精品天天摸av网| 欧美精品自拍偷拍| 国产91丝袜在线播放| 日日骚欧美日韩| 亚洲视频一区在线| 日韩精品在线一区二区| 色噜噜久久综合| 国产成人午夜视频| 午夜精品成人在线| 国产精品免费视频网站| 精品美女一区二区三区| 欧美日韩一区在线| 福利电影一区二区| 韩国女主播成人在线观看| 一区二区高清免费观看影视大全 | 国产精品亲子伦对白| 日韩免费视频一区二区| 一本久久a久久精品亚洲| 国产高清在线精品| 美女www一区二区| 亚洲国产一二三| 国产精品激情偷乱一区二区∴| 欧美一区二区视频在线观看| 欧美在线观看一区| 波多野结衣在线一区| 国产激情偷乱视频一区二区三区 | 免费人成精品欧美精品| 一区二区三区日韩| 中文字幕人成不卡一区| 久久久久国产精品免费免费搜索| 欧美一级生活片| 欧美日韩免费电影| 色综合色综合色综合| 99久久免费精品高清特色大片| 国产精品亚洲视频| 国产在线视频一区二区三区| 六月丁香婷婷色狠狠久久| 婷婷综合在线观看| 日韩中文字幕1| 婷婷综合另类小说色区| 婷婷综合另类小说色区| 日本亚洲视频在线| 美国精品在线观看| 狠狠色狠狠色综合日日91app| 精品一区在线看| 国产一区二区三区最好精华液| 激情都市一区二区| 国产美女精品人人做人人爽| 国产大陆亚洲精品国产| 成人免费视频一区| www.激情成人| 精品视频资源站| 欧美一区二区不卡视频| 久久精品男人的天堂| 中文字幕在线播放不卡一区| 亚洲综合自拍偷拍| 奇米在线7777在线精品| 国产一区二区h| 色综合久久中文综合久久牛| 欧美少妇bbb| 亚洲精品一区二区三区四区高清| 国产日韩欧美a| 亚洲乱码国产乱码精品精可以看| 亚洲自拍偷拍图区| 蜜臂av日日欢夜夜爽一区| 国产乱码精品一区二区三区忘忧草| 国产aⅴ综合色| 欧美性猛交一区二区三区精品| 日韩美女天天操| 亚洲欧美另类小说| 日本不卡免费在线视频| 不卡欧美aaaaa| 欧美高清激情brazzers| 国产欧美精品日韩区二区麻豆天美| 夜夜爽夜夜爽精品视频| 激情综合网天天干| 91传媒视频在线播放| 精品国产91洋老外米糕| 亚洲在线免费播放| 国产成人无遮挡在线视频| 欧美精品久久一区二区三区| 国产欧美日韩麻豆91| 日韩精品电影在线| 99re免费视频精品全部| 久久九九全国免费|