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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? p370.cpp

?? 包含常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)的類和函數(shù)
?? CPP
字號(hào):
#ifndef DefaultSize#define DefaultSize 100#endif		template <class Type>		class HashTable {									//散列表類定義		public:		   enum KindOfEntry { Active, Empty, Deleted };				//表項(xiàng)分類 (活動(dòng) / 空 / 刪)		   HashTable ( int sz=DefaultSize ) : TableSize ( sz ) { AllocateHt ( );  CurrentSize = 0; }		//構(gòu)造函數(shù)		   ~HashTable ( ) { delete [ ] ht; }						//析構(gòu)函數(shù)		   const HashTable & operator = ( const HashTable & ht2 );		//重載函數(shù):表賦值		   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 ); 					//散列函數(shù): 計(jì)算含x表項(xiàng)的初始桶號(hào)		private:		   struct HashEntry {								//表項(xiàng)定義		      Type Element;								//表項(xiàng)的數(shù)據(jù), 即表項(xiàng)的關(guān)鍵碼		      KindOfEntry info;								//三種狀態(tài): Active, Empty, Deleted		      int operator== ( HashEntry & );			//重載函數(shù):表項(xiàng)判等運(yùn)算		      int operator!= ( HashEntry & );				//重載函數(shù):表項(xiàng)判不等運(yùn)算		      HashEntry ( ) : info (Empty ) { }						//表項(xiàng)構(gòu)造函數(shù), 置空		      HashEntry (const Type & E, KindOfEntry i = Empty ) : Element (E), info (i) { }		   };		   enum { DefualtSize = 11 };		   HashEntry *ht;									//散列表存儲(chǔ)數(shù)組		   int CurrentSize, TableSize;							//當(dāng)前桶數(shù)及最大桶數(shù)		   void AllocateHt ( ) { ht = new HashEntry[TableSize ]; }			//為散列表分配存儲(chǔ)空間		};		template <class Type> int HashTable<Type>::Find ( const Type & x ) {		//使用線性探查法在散列表ht (每個(gè)桶容納一個(gè)表項(xiàng))中搜索x。如果x在表中存在, 則函數(shù)返回x所在		//位置j, 即ht[j]=x。如果x不在表中, 則返回 -j。		   int i = FindPos ( x ),  j = i; 						//i是計(jì)算出來(lái)的散列地址, j是下一空桶		   while ( ht[j].info != Empty && ht[j].Element != x ) {		//ht[j]不空, 且不等于x,沖突			 j = ( j + 1 ) % TableSize;						//當(dāng)做循環(huán)表處理, 找下一個(gè)空桶 			 if ( j == i ) return -TableSize-1;					//轉(zhuǎn)一圈回到開始點(diǎn), 表已滿, 失敗		   }		   if ( ht[j].info == Active ) return j;					//找到滿足要求的表項(xiàng), 返回桶號(hào)j		   else return -j-1;									//失敗		}//	在利用散列表進(jìn)行各種處理之前,必須首先將散列表中原有的內(nèi)容清掉,這時(shí)我們可以將表中所有表項(xiàng)的info域置為Empty即可。因?yàn)樯⒘斜泶娣诺氖潜眄?xiàng)集合,不應(yīng)有重復(fù)的關(guān)鍵碼,所以在插入新表項(xiàng)時(shí),如果發(fā)現(xiàn)表中已經(jīng)有關(guān)鍵碼相同的表項(xiàng),則不再插入。	特別要注意的是,在閉散列的情形下不能隨便物理刪除表中已有的表項(xiàng)。因?yàn)槿魟h除表項(xiàng)會(huì)影響其它表項(xiàng)的搜索。如在圖10.26所示的例子中,若把關(guān)鍵碼為Broad的表項(xiàng)真正刪除,把它所在位置的info域置為Empty,那么以后在搜索關(guān)鍵碼為Blum和Alton的表項(xiàng)時(shí)就查不下去,從而會(huì)錯(cuò)誤地判斷表中沒(méi)有關(guān)鍵碼為Blum和Alton的表項(xiàng)。所以若想刪除一個(gè)表項(xiàng)時(shí),只能給它做一個(gè)刪除標(biāo)記deleted,進(jìn)行邏輯刪除。但這樣做的副作用是:在執(zhí)行多次刪除后,表面上看起來(lái)散列表很滿,實(shí)際上有許多位置沒(méi)有利用。因此,當(dāng)散列表經(jīng)常變動(dòng)時(shí),最好不用閉散列方法處理溢出,可改用開散列方法來(lái)處理溢出。//	下面給出散列表其它一些操作的實(shí)現(xiàn)。		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 ) {		//重載函數(shù):復(fù)制一個(gè)散列表ht2		   if ( this != &ht2 ) {			 delete [ ] ht;  TableSize = ht2.TableSize;  AllocateHt ( );		//重新分配目標(biāo)散列表存儲(chǔ)空間			 for ( int i=0; i<TableSize; i++ ) ht[i] = ht2.ht[i];			//從源散列表向目標(biāo)散列表傳送			 CurrentSize = ht2.CurrentSize;						//傳送當(dāng)前表項(xiàng)個(gè)數(shù)		   }		   return *this;									//返回目標(biāo)散列表結(jié)構(gòu)指針		}      		template <class Type> int HashTable<Type>::Insert (const Type & x ) {		//在ht表中搜索x。若找到則不再插入, 若未找到, 但表已滿, 則不再插入, 以上兩種情況, 返回0; 若找到		//位置的標(biāo)志是Empty或Deleted, 不論表是否已滿, x插入, 返回1。		   int i = Find (x);		   if ( i >= 0 ) return 0;					//表中已有該項(xiàng), 不再插入		   i++;		     if ( i != -TableSize && ht[-i].info != Active ) {			//否則若表項(xiàng)為空插入, i為負(fù)數(shù)			 ht[-i].Element = x;  ht[-i].info = Active;  CurrentSize++;		//插入			 return 1;									//返回插入成功標(biāo)志1		   }		   else return 0; 									//表滿不插入, 返回不成功標(biāo)志		}		template <class Type> int HashTable<Type>::Remove ( const Type & x ) {		//在ht表中刪除元素x。若表中找不到x, 或雖然找到x, 但它已經(jīng)邏輯刪除過(guò), 則返回0, 否則在表中刪除		//元素x, 返回1。			int i = Find (x);		   if ( i >= 0 ) 		   {						//找到要?jiǎng)h元素, 且是活動(dòng)元素			 ht[i].info = Deleted;  CurrentSize--;					//做邏輯刪除標(biāo)志, 并不真正物理刪除			 return 1;									//刪除操作完成, 返回成功標(biāo)志		   }		   else return 0;									//表中無(wú)被刪表項(xiàng), 返回不成功標(biāo)志		}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色电影在线| 日本一区二区视频在线| 国产一区二区福利| 亚洲精品福利视频网站| 欧美电影免费观看高清完整版在线| 成人在线视频首页| 久久精品国产亚洲a| 一区二区欧美国产| 中文一区在线播放| 日韩欧美国产不卡| 欧美特级限制片免费在线观看| 国产激情视频一区二区在线观看 | av网站一区二区三区| 日本在线观看不卡视频| 日韩毛片在线免费观看| 精品国产伦理网| 欧美人xxxx| 欧美在线一二三四区| 99r精品视频| 成人综合婷婷国产精品久久免费| 美女视频免费一区| 视频在线观看一区| 亚洲国产综合人成综合网站| 国产精品沙发午睡系列990531| 欧美成人艳星乳罩| 日韩视频在线一区二区| 在线播放中文一区| 欧美日韩情趣电影| 欧洲生活片亚洲生活在线观看| 成人免费精品视频| 成人小视频在线| 国产成人免费高清| 高清不卡一二三区| 成人性生交大片免费看中文| 国产高清成人在线| 国产精品原创巨作av| 久久成人麻豆午夜电影| 美女被吸乳得到大胸91| 蜜臀av性久久久久av蜜臀妖精| 午夜精品福利视频网站| 亚洲福利一区二区三区| 亚洲一区二区高清| 午夜精品一区在线观看| 日韩中文字幕一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 强制捆绑调教一区二区| 日本不卡123| 毛片不卡一区二区| 国内精品免费在线观看| 国产成人综合网站| 国产不卡视频在线观看| 成人免费视频播放| 91免费在线看| 欧美日韩一二三| 91精品久久久久久久91蜜桃| 日韩一区二区视频| 欧美精品一区二区在线播放 | 中文字幕亚洲精品在线观看| 中文字幕在线视频一区| 中文字幕亚洲成人| 亚洲综合免费观看高清完整版在线 | 国产乱国产乱300精品| 国产精品1区二区.| 91色婷婷久久久久合中文| 91成人看片片| 日韩三级.com| 国产精品乱码一区二三区小蝌蚪| 亚洲天堂a在线| 首页亚洲欧美制服丝腿| 国模套图日韩精品一区二区| 不卡的av在线播放| 欧美男女性生活在线直播观看| 欧美成人一区二区三区在线观看 | 日韩精彩视频在线观看| 免费人成在线不卡| 国产精品一区二区在线播放| www.性欧美| 884aa四虎影成人精品一区| www国产成人| 亚洲乱码国产乱码精品精可以看| 亚洲成人7777| 成人午夜私人影院| 欧美精品日韩综合在线| 久久精品夜夜夜夜久久| 亚洲一线二线三线久久久| 久久99久久精品| 一本到不卡精品视频在线观看 | 国产欧美日韩精品在线| 一区2区3区在线看| 精品一区二区三区在线视频| 麻豆国产精品一区二区三区| 久久免费国产精品| 亚洲色图视频免费播放| 五月婷婷久久丁香| 丁香六月综合激情| 一区二区三区在线视频免费观看| 免费精品99久久国产综合精品| 国产成人av一区二区| 欧美三级韩国三级日本一级| 日本一区二区三区免费乱视频| 午夜视频一区在线观看| 成人av网在线| 精品日韩欧美在线| 亚洲综合色视频| 成人av影院在线| 久久综合色8888| 日韩国产欧美在线播放| 91网站最新网址| 国产午夜精品一区二区三区四区 | 狠狠色丁香九九婷婷综合五月| 色哟哟在线观看一区二区三区| www久久精品| 日欧美一区二区| 欧洲中文字幕精品| 亚洲婷婷国产精品电影人久久| 国内精品视频一区二区三区八戒| 4hu四虎永久在线影院成人| 亚洲日本在线a| 成av人片一区二区| 欧美国产激情二区三区| 国产中文字幕精品| 日韩免费视频线观看| 亚洲成人av免费| 欧美色区777第一页| 亚洲精品一二三四区| av在线播放成人| 国产精品精品国产色婷婷| 国产老肥熟一区二区三区| 日韩精品中文字幕一区| 日韩电影免费一区| 91精品国产综合久久婷婷香蕉| 亚洲在线免费播放| 欧美综合一区二区| 亚洲国产另类av| 欧美伊人精品成人久久综合97| 亚洲日本电影在线| 91捆绑美女网站| 一区二区三区四区精品在线视频| 成人动漫中文字幕| 一本久久a久久精品亚洲| 亚洲女人的天堂| 97久久人人超碰| 综合久久久久综合| 91丨九色丨尤物| 日本三级亚洲精品| 91精品欧美综合在线观看最新| 婷婷综合另类小说色区| 在线播放欧美女士性生活| 午夜久久久久久| 日韩欧美中文字幕精品| 久久99久久99小草精品免视看| 精品国产一区二区三区忘忧草| 国产一区二区h| 亚洲国产精品高清| 91亚洲国产成人精品一区二三 | 日韩一级高清毛片| 经典三级在线一区| 国产日韩欧美在线一区| 91浏览器在线视频| 日韩二区三区四区| 久久影院电视剧免费观看| 成人免费视频caoporn| 亚洲最大成人网4388xx| 欧美剧在线免费观看网站| 免费高清在线一区| 国产人伦精品一区二区| 色婷婷久久久亚洲一区二区三区| 亚洲电影中文字幕在线观看| 欧美丰满美乳xxx高潮www| 国模娜娜一区二区三区| 一区在线观看视频| 欧美喷水一区二区| 国产夫妻精品视频| 亚洲综合清纯丝袜自拍| 精品国偷自产国产一区| 成人久久久精品乱码一区二区三区| 亚洲女人的天堂| 日韩亚洲欧美成人一区| 国产不卡高清在线观看视频| 夜夜精品视频一区二区| 日韩久久免费av| 91极品美女在线| 黑人巨大精品欧美黑白配亚洲| 最新热久久免费视频| 日韩欧美一区二区免费| 91丨九色丨蝌蚪富婆spa| 久久成人久久爱| 亚洲午夜精品在线| 久久久99免费| 欧美久久久一区| 99久久久无码国产精品| 久久综合综合久久综合| 亚洲精品国产精品乱码不99| 精品欧美黑人一区二区三区| 色狠狠一区二区三区香蕉| 国产精品亚洲第一区在线暖暖韩国| 亚洲一区在线观看免费 | 免费成人在线观看| 亚洲视频图片小说| 久久综合给合久久狠狠狠97色69|