亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色屁屁一区二区| 91浏览器在线视频| 欧美三级电影网站| 中文字幕va一区二区三区| 日产欧产美韩系列久久99| 色综合久久综合中文综合网| 久久久亚洲精华液精华液精华液| 亚洲成人黄色影院| 91麻豆精品秘密| 中文乱码免费一区二区| 久久国产乱子精品免费女| 欧美日精品一区视频| 中文字幕一区二区三区在线观看 | 久久久久国产精品麻豆| 日本成人在线不卡视频| 欧美综合欧美视频| 一区在线观看视频| 成人午夜精品在线| 久久视频一区二区| 精品一区二区三区在线观看| 69av一区二区三区| 亚洲sss视频在线视频| 欧洲国内综合视频| 亚洲日本va午夜在线电影| 国产ts人妖一区二区| 久久亚洲私人国产精品va媚药| 美国毛片一区二区三区| 在线播放中文字幕一区| 午夜精品一区二区三区电影天堂| 91久久免费观看| 亚洲乱码国产乱码精品精的特点| av亚洲产国偷v产偷v自拍| 国产精品素人一区二区| 国产传媒日韩欧美成人| 久久人人97超碰com| 美女高潮久久久| 欧美二区三区91| 水蜜桃久久夜色精品一区的特点| 欧美日本乱大交xxxxx| 亚洲福利电影网| 欧美精品视频www在线观看| 亚洲成a人片综合在线| 精品视频在线免费观看| 亚洲成人免费看| 日韩欧美视频在线| 蜜臂av日日欢夜夜爽一区| 日韩午夜精品视频| 久久av老司机精品网站导航| 欧美mv日韩mv| 国产精品18久久久久久vr| 国产午夜精品美女毛片视频| 国产成人精品一区二区三区四区| 欧美国产精品专区| 9色porny自拍视频一区二区| 亚洲欧美怡红院| 色88888久久久久久影院野外| 亚洲综合在线五月| 欧美三区在线视频| 日本成人在线视频网站| 欧美精品一区二区三区四区| 国产激情视频一区二区在线观看 | 久久老女人爱爱| 国产精品小仙女| 国产精品国产成人国产三级| 色偷偷久久人人79超碰人人澡| 一区二区三区中文字幕电影| 欧美精品久久天天躁| 激情五月激情综合网| 国产欧美综合在线观看第十页| 9久草视频在线视频精品| 亚洲一区二区精品久久av| 6080yy午夜一二三区久久| 久久99热国产| 椎名由奈av一区二区三区| 欧美性受xxxx| 久久国产精品第一页| 中文字幕欧美激情一区| 91久久久免费一区二区| 久久精品国产精品亚洲综合| 国产精品毛片a∨一区二区三区| 在线看国产一区| 久久97超碰色| 亚洲三级电影网站| 日韩一级视频免费观看在线| 懂色av一区二区三区免费看| 一区二区三区成人| 精品国免费一区二区三区| av影院午夜一区| 欧美a一区二区| 国产精品国产自产拍高清av| 欧美三级电影一区| 丰满放荡岳乱妇91ww| 天涯成人国产亚洲精品一区av| 国产亚洲短视频| 欧美视频在线播放| 成人永久aaa| 奇米精品一区二区三区在线观看一| 欧美激情一区二区三区不卡| 欧美日韩精品系列| 成人在线综合网| 青草国产精品久久久久久| 椎名由奈av一区二区三区| 精品成人免费观看| 在线观看日韩精品| 国产成人av福利| 免费高清视频精品| 亚洲乱码精品一二三四区日韩在线| 欧美成人精品3d动漫h| 91福利资源站| 粉嫩绯色av一区二区在线观看| 日本特黄久久久高潮| 亚洲欧美日韩国产手机在线 | 欧美丝袜自拍制服另类| 丰满亚洲少妇av| 久久9热精品视频| 天天综合日日夜夜精品| 亚洲色图制服诱惑| 国产日韩高清在线| 欧美成人bangbros| 欧美三日本三级三级在线播放| 99久久免费国产| 国产精品77777竹菊影视小说| 日韩电影免费在线看| 亚洲一二三级电影| 亚洲日穴在线视频| 国产精品美女久久久久久| 久久亚洲精品小早川怜子| 日韩亚洲欧美成人一区| 欧美天天综合网| 色乱码一区二区三区88| 成人免费视频视频在线观看免费| 免费观看日韩电影| 日产国产欧美视频一区精品| 亚洲一本大道在线| 一区二区三区成人| 亚洲欧美欧美一区二区三区| 国产精品电影一区二区三区| 国产欧美日韩视频在线观看| 精品久久久久久无| 欧美一卡二卡三卡四卡| 欧美日韩视频在线观看一区二区三区| 99国产精品久久| 99久久精品国产观看| 白白色 亚洲乱淫| 丁香天五香天堂综合| 国产精品99久久久久久久vr| 精品影院一区二区久久久| 久久av资源站| 国产呦精品一区二区三区网站| 美女www一区二区| 久久99热这里只有精品| 极品少妇xxxx精品少妇| 久久99精品久久久久婷婷| 激情深爱一区二区| 黑人巨大精品欧美黑白配亚洲| 久草在线在线精品观看| 国产在线看一区| 国产伦精品一区二区三区视频青涩 | 亚洲成年人网站在线观看| 亚洲mv在线观看| 天堂成人免费av电影一区| 日本在线不卡视频| 美女免费视频一区| 韩国精品一区二区| 国产凹凸在线观看一区二区| 丁香啪啪综合成人亚洲小说| 成人a免费在线看| 色婷婷综合激情| 欧美日韩亚洲综合在线| 777a∨成人精品桃花网| 欧美一区二区视频在线观看| 日韩欧美一级二级三级| 亚洲精品一区二区三区四区高清| 久久综合色播五月| 国产精品丝袜黑色高跟| 亚洲视频一区在线| 性欧美疯狂xxxxbbbb| 日本欧美韩国一区三区| 精品一区二区在线观看| 成人动漫一区二区在线| 色婷婷综合久久久中文一区二区 | 欧美日韩午夜在线视频| 日韩欧美激情四射| 久久久久久久久久久99999| 一区在线观看免费| 亚洲成人久久影院| 经典三级视频一区| 波多野结衣欧美| 欧美伊人精品成人久久综合97| 欧美精品免费视频| 久久久激情视频| 亚洲私人黄色宅男| 亚洲福利一二三区| 韩国av一区二区三区四区 | 蜜桃av一区二区三区电影| 国产精品伊人色| 91蜜桃在线观看| 欧美一区二区三区成人| 日本一区二区三区高清不卡| 亚洲一区中文日韩|