亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品中文欧美| 国产一区激情在线| jiyouzz国产精品久久| 精品欧美一区二区三区精品久久| 蜜桃免费网站一区二区三区| 国产精品剧情在线亚洲| 国产亚洲美州欧州综合国| 亚洲福利视频导航| 成人免费在线播放视频| 国产成人综合亚洲网站| 日韩欧美在线网站| 欧美日韩国产片| 精品国产乱码91久久久久久网站| 4438x成人网最大色成网站| 日韩欧美成人午夜| 欧美在线免费播放| 国产不卡视频一区二区三区| 美国精品在线观看| 午夜电影一区二区| 亚洲欧洲精品成人久久奇米网| 欧美视频一区二区三区在线观看| 久久er精品视频| 青青草精品视频| 久久精品国内一区二区三区| 亚洲成人中文在线| 最新日韩av在线| 久久看人人爽人人| 国产成人精品免费网站| 亚洲精品老司机| 国产精品久久久一本精品| 中文字幕中文在线不卡住| 国产自产v一区二区三区c| 亚洲欧美另类久久久精品| 中文在线一区二区| 国产精品久线观看视频| 中文字幕成人在线观看| 亚洲视频在线观看三级| 中文字幕在线视频一区| 国产精品欧美久久久久无广告 | 精品国产乱码久久久久久牛牛| 91蜜桃在线观看| 欧美这里有精品| 在线视频你懂得一区二区三区| 91福利在线播放| 欧美日韩在线精品一区二区三区激情| 色av成人天堂桃色av| 91麻豆产精品久久久久久 | 国产精品888| 国产精品夜夜爽| 欧美调教femdomvk| 日韩片之四级片| 亚洲色图清纯唯美| 国产一区二区三区精品视频| 欧美日韩视频在线一区二区| 亚洲国产精品国自产拍av| 午夜久久福利影院| 欧美日本在线看| 午夜av电影一区| 91精品国产高清一区二区三区蜜臀 | 日韩三级视频在线观看| 亚洲另类一区二区| 成人成人成人在线视频| 精品国产髙清在线看国产毛片| 亚洲一区二区五区| 91色视频在线| 亚洲欧美欧美一区二区三区| 国产91精品精华液一区二区三区| 日韩精品一区二区三区视频在线观看 | 99精品视频中文字幕| 久久精品欧美日韩精品| 九九国产精品视频| 精品少妇一区二区三区免费观看| 亚洲国产精品久久人人爱| 欧美在线免费观看亚洲| 日日夜夜精品视频天天综合网| 欧美日韩在线亚洲一区蜜芽| 亚洲成人午夜影院| 日韩欧美不卡在线观看视频| 免费成人美女在线观看.| 91精品久久久久久久久99蜜臂| 欧美bbbbb| 中文字幕亚洲在| 欧美群妇大交群中文字幕| 六月婷婷色综合| 国产精品伦一区二区三级视频| 91精品国产综合久久久久久| 国内精品在线播放| 亚洲午夜一二三区视频| 久久亚洲影视婷婷| 色噜噜狠狠一区二区三区果冻| 五月天欧美精品| 久久精品一区二区| 欧美性生活一区| eeuss鲁片一区二区三区在线观看| 亚洲欧美在线另类| 精品成人一区二区三区四区| 色综合中文字幕国产| 亚洲一二三区视频在线观看| 日韩欧美成人一区二区| 97久久超碰国产精品电影| 久久99国产精品免费| 亚洲国产另类精品专区| 综合网在线视频| 国产欧美日韩麻豆91| 欧美mv日韩mv国产网站app| 欧美日韩中文精品| 99综合电影在线视频| 成人网在线播放| 北条麻妃国产九九精品视频| 国产91在线观看丝袜| 国产一区二区在线观看视频| 日韩av高清在线观看| 亚洲一卡二卡三卡四卡| 亚洲超丰满肉感bbw| 爽爽淫人综合网网站| 日本视频一区二区| 老司机精品视频一区二区三区| 青青草国产成人av片免费| 国内外成人在线| 粗大黑人巨茎大战欧美成人| 成人免费av在线| 91亚洲精品乱码久久久久久蜜桃| 在线观看精品一区| 日韩一二三区视频| 日本一二三不卡| 香蕉影视欧美成人| 国内精品第一页| 99久久精品免费看国产| 69精品人人人人| 日本一区二区三区久久久久久久久不| 国产欧美一区二区精品性色超碰 | 欧美怡红院视频| 精品日韩一区二区三区| 日本一区二区久久| 免费成人结看片| 91看片淫黄大片一级在线观看| 欧美日韩免费电影| 国产精品久久久久精k8| 国内精品嫩模私拍在线| 欧美日韩一级二级三级| 26uuu精品一区二区| 亚洲女人的天堂| 亚洲欧洲日产国产综合网| 国产一区二区按摩在线观看| 欧美日韩视频第一区| 中文无字幕一区二区三区| 久国产精品韩国三级视频| 欧美视频第二页| 亚洲一卡二卡三卡四卡五卡| 91国偷自产一区二区三区成为亚洲经典| 欧美大白屁股肥臀xxxxxx| 夜夜精品视频一区二区 | 一区二区三区自拍| 色哟哟一区二区三区| 一区二区三区欧美亚洲| 色婷婷亚洲精品| 亚洲国产人成综合网站| 欧美日韩精品三区| 日韩精品亚洲专区| 欧美一区二区在线看| 蜜桃av一区二区三区| 国产午夜一区二区三区| 不卡av免费在线观看| √…a在线天堂一区| 欧美三级电影在线看| 另类小说视频一区二区| 国产精品高清亚洲| 欧美天堂亚洲电影院在线播放| 婷婷丁香久久五月婷婷| 国产精品女同一区二区三区| 91行情网站电视在线观看高清版| 亚洲午夜电影在线观看| 精品对白一区国产伦| av不卡一区二区三区| 午夜久久久影院| 亚洲色图.com| 国产精品高潮呻吟久久| 欧美美女一区二区在线观看| 国产伦精品一区二区三区免费迷| 亚洲欧美激情视频在线观看一区二区三区| 欧美亚洲一区二区三区四区| 麻豆国产欧美一区二区三区| 亚洲欧美日韩小说| 自拍偷拍亚洲欧美日韩| 中文字幕精品—区二区四季| 91精品欧美久久久久久动漫| 在线观看亚洲精品视频| 成人少妇影院yyyy| 经典三级视频一区| 日韩av电影免费观看高清完整版| 亚洲影院理伦片| 国产精品久久久久久户外露出| 久久久精品综合| 久久久久久97三级| 久久久蜜桃精品| 日韩一区在线看| 亚洲品质自拍视频网站| 国产精品久久久久久久久晋中| 亚洲国产精华液网站w| 国产精品久久久久精k8|