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

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

?? p372.cpp

?? 包含常見的數據結構的類和函數
?? CPP
字號:
		int IsPrime ( int N ) {					//測試N是否質數		   for ( int i=3; i*i<=N; i+=2 )				//若N能分解為兩個整數的乘積, 其中一個一定 			 if ( N % i == 0 ) return 0;			//N能整除i, N不是質數		   return 1;							//N是質數		}		int NextPrime ( int N ) {					//求下一個>N的質數,設N >= 5		   if ( N % 2 == 0 ) N++;				//偶數不是質數		   for ( ; !IsPrime (N); N+=2 );				//尋找質數		   return N;		}		template <class Type> class HashTable {				//散列表類的定義		public:		   enum KindOfEntry { Active, Empty, Deleted };			//表項分類 (活動 / 空 / 刪)		   int Find ( const Type & x );				//在散列表中搜索x		   int IsEmpty ( ) { return !CurrentSize ? 1 : 0; }			//判散列表空否,空則返回1 		   int IsFull ( ) { return CurrentSize == TableSize ? 1 : 0; }	//判散列表滿否,滿則返回1		   int Insert ( const Type & x );		   int Remove ( const Type & x );		   int IsIn ( const Type & x );		   int WasFound ( ) const { return LastFindOK;	}		//判最近一次搜索是否成功		   //其它共有函數與定義10.6聲明線性探查散列表類相同		   HashTable ( int sz=DefaultSize ) : TableSize ( sz ) { AllocateHt ( );  CurrentSize = 0; }		//構造函數		   ~HashTable ( ) { delete [ ] ht; }						//析構函數		   const HashTable & operator = ( const HashTable & ht2 );		//重載函數:表賦值		   int FindPos ( const Type & x ); 					//散列函數: 計算含x表項的初始桶號		   void MakeEmpty ( );								//置散列表為空		private:		   struct HashEntry {							//散列表的表項定義		      Type Element;							//表項的數據, 即表項的關鍵碼		      KindOfEntry info;							//三種狀態: Active, Empty, Deleted		      HashEntry ( ) : info (Empty ) { }					//表項構造函數		      HashEntry ( const Type &E, KindOfEntry i = Empty ) : Element (E), info (i) { };		   };		   //enum { DefualtSize = 11; };		   HashEntry *ht; 								//散列表存儲數組		   int TableSize;								//數組長度,要求是滿足4k+3的質數,k是整數		   int CurrentSize;								//已占據散列地址數目		   int LastFindOK;							//若最近一次搜索成功成功, 則返回1		   void AllocateHt ( ) { ht = new HashEntry[TableSize ]; }	//分配散列表存儲空間的函數		};		template <class Type> int HashTable<Type>::Find ( const Type & x ) {		//共有函數: 找下一散列位置的函數		   int i = 0,  odd = 0 ;								// i為探查次數,odd是控制加減標志		   int CurrentPos = FindPos ( x );						//利用散列函數計算x的散列地址		   while ( ht[CurrentPos].info != Empty && ht[CurrentPos].Element != x ) {	//搜索是否要求表項			 if ( !odd ) {									// odd == 0為(H0 + i2)%TableSize情形			   CurrentPos += 2*++i - 1;   odd = 1;				//求“下一個”桶		 	   while ( CurrentPos >= TableSize ) CurrentPos -= TableSize;	//實現取模			 }			 else {										// odd == 1為(H0 - i2)%TableSize情形			   CurrentPos -= 2*i-1;  odd = 0;					//求“下一個”桶			   while ( CurrentPos < 0 ) CurrentPos += TableSize; 		//實現取模			 }		   }		   LastFindOK = ht[CurrentPos].info == Active;				//記下最后是否搜索成功信息		   return CurrentPos;								//返回桶號		};		template <class Type> int HashTable<Type>::Insert ( const Type & x ) {		//將x插入到散列表中, 若x在表中已存在, 則返回0, 否則返回1。		   int CurrentPos = Find (x);		   if (LastFindOK ) return 0;						//該項在表中已經存在, 不再加入		   ht[CurrentPos] = HashEntry ( x, Active );				//插入x		   if ( ++CurrentSize < TableSize/2) return 1;				//當前已有項數加1, 不超過表長的一半返回		   HashEntry *Oldht = ht;						//分裂空間處理: 保存原來的散列表		   int OldTableSize = TableSize;		   CurrentSize = 0;		   TableSize = NextPrime ( 2 * OldTableSize );			//原表大小的2倍,取質數		   AllocateHt ( );								//建立新的二倍大小的空表		   for (int i=0; i<OldTableSize; i++)					//原來的元素重新散列到新表中		      if ( Oldht[i].info == Active ) Insert ( Oldht[i].Element );	//遞歸調用		   delete [ ] Oldht;		   return 1;		}		template <class Type> int HashTable<Type>::IsIn ( const Type & x ) {		//判斷x是否在散列表中。若在表中, 則返回1, 否則返回0。		   int CurrentPos = Find ( x );		   return LastFindOK;		}		template <class Type> int HashTable<Type>::Remove ( const Type & x ) {		//將x從散列表中刪除。若刪除成功, 則返回1, 否則返回0。		   int CurrentPos = Find (x);		   if (!LastFindOK ) return 0;						//該項在散列表中沒有		   ht[CurrentPos].info = Deleted;  return 1;				//作刪除標記, 刪除成功		}		//以下來自線性探查法		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;									//返回目標散列表結構指針		}      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡在线观看| 欧美性做爰猛烈叫床潮| 91视视频在线观看入口直接观看www | 国产日韩亚洲欧美综合| 日韩欧美亚洲另类制服综合在线| 国产午夜精品福利| 日本伊人午夜精品| 一本大道综合伊人精品热热| 久久视频一区二区| 琪琪久久久久日韩精品| 在线观看亚洲精品视频| 欧美国产日韩亚洲一区| 另类欧美日韩国产在线| 欧美人狂配大交3d怪物一区 | 色综合久久精品| 久久网站热最新地址| 青青草原综合久久大伊人精品| 亚洲激情五月婷婷| 韩国精品免费视频| 91精品在线观看入口| 亚洲电影一级片| 在线亚洲人成电影网站色www| 国产婷婷精品av在线| 紧缚奴在线一区二区三区| 欧美一区二区三区在线观看 | 国产精品嫩草影院av蜜臀| 久久91精品国产91久久小草| 欧美日韩一区成人| 亚瑟在线精品视频| 欧美日韩精品欧美日韩精品一 | 亚洲在线视频一区| 91免费看`日韩一区二区| 欧美国产97人人爽人人喊| 国产一二精品视频| 久久影院电视剧免费观看| 激情图区综合网| 国产亚洲精品7777| av激情综合网| 一区二区三区在线观看国产| 色久综合一二码| 亚洲一区二区在线免费观看视频| 欧美日韩在线一区二区| 香蕉加勒比综合久久| 欧美日韩一区在线观看| 蜜臀久久99精品久久久久久9| 91精品国产一区二区三区| 精品一区免费av| 久久综合九色综合97婷婷女人 | 国产精品自拍网站| 中文字幕国产一区二区| 99久久婷婷国产综合精品电影| 国产精品久久久久久久久图文区 | 日韩午夜在线观看| 精品一区二区三区不卡| 国产无一区二区| 一本色道久久综合狠狠躁的推荐| 成人精品亚洲人成在线| 亚洲情趣在线观看| 欧美人体做爰大胆视频| 国产精品911| 亚洲综合网站在线观看| 日韩欧美国产不卡| 成人丝袜18视频在线观看| 亚洲裸体在线观看| 日韩免费看的电影| 99久久精品一区| 喷水一区二区三区| 中文字幕日韩av资源站| 日韩一区二区三| av一区二区不卡| 日韩精品福利网| 欧美激情一二三区| 91麻豆精品国产91久久久| 东方欧美亚洲色图在线| 久久成人久久爱| 国产日韩欧美一区二区三区乱码| 懂色中文一区二区在线播放| 亚洲综合色网站| 久久久精品欧美丰满| 欧美熟乱第一页| 国产精品 欧美精品| 亚洲电影你懂得| 国产精品天美传媒沈樵| 欧美一区2区视频在线观看| 福利一区福利二区| 日韩精品乱码免费| 亚洲色图欧美激情| 久久亚洲欧美国产精品乐播| 欧美日韩激情一区二区三区| 99久久国产综合精品色伊| 久久99久久精品| 亚洲一区二三区| 国产精品久久久久久久久果冻传媒| 欧美mv日韩mv国产网站| 欧美综合亚洲图片综合区| 国产原创一区二区| 欧美精品777| 美腿丝袜亚洲三区| 国产精品不卡在线| 国产曰批免费观看久久久| 一区二区三区在线视频观看| 五月激情六月综合| 91小视频在线免费看| 国产精品久久久久久久浪潮网站| 一区二区在线观看免费| 国产欧美一区二区三区鸳鸯浴| 欧美日韩精品欧美日韩精品一| 亚洲人快播电影网| 精品国产3级a| 亚洲男帅同性gay1069| 久久99精品久久久久久国产越南| 波多野结衣在线一区| 偷拍自拍另类欧美| 国产精品久久久久婷婷二区次 | 亚洲色图在线播放| 久久伊人中文字幕| 精品国产区一区| 精品久久一二三区| 精品av久久707| 国产欧美精品日韩区二区麻豆天美| 欧美一级欧美一级在线播放| 91麻豆精品91久久久久久清纯| 欧美精品在线视频| 欧美成人官网二区| 久久久亚洲国产美女国产盗摄| 久久久影视传媒| 欧美韩国日本不卡| 亚洲视频小说图片| 天天影视网天天综合色在线播放| 日韩国产精品久久| 麻豆91精品91久久久的内涵| 国产专区综合网| 91污片在线观看| 欧美午夜精品久久久久久超碰| 777欧美精品| 久久一日本道色综合| 国产精品久久久久久久久动漫| 一区二区三区四区不卡在线| 婷婷中文字幕一区三区| 久久精品国产亚洲一区二区三区| 国产福利91精品一区| 色狠狠色狠狠综合| 日韩三级中文字幕| 国产精品区一区二区三区| 依依成人精品视频| 国内一区二区视频| 92精品国产成人观看免费| 欧美区在线观看| 久久综合狠狠综合| 亚洲激情在线激情| 国产在线乱码一区二区三区| 色屁屁一区二区| 久久久美女毛片| 水蜜桃久久夜色精品一区的特点| 精品一区二区三区免费视频| 91在线精品一区二区| 欧美一区二区视频在线观看| 国产欧美一区在线| 日韩精品三区四区| 99精品国产99久久久久久白柏| 欧美老人xxxx18| 国产精品乱码一区二三区小蝌蚪| 午夜在线成人av| 成人av网站在线观看| 欧美一级国产精品| 亚洲九九爱视频| 国产麻豆精品theporn| 欧美日韩欧美一区二区| 国产精品成人免费| 国产精品一卡二| 日韩一级片在线播放| 亚洲视频一区在线观看| 国产精品白丝jk白祙喷水网站| 欧美疯狂性受xxxxx喷水图片| 国产精品青草综合久久久久99| 久久国产夜色精品鲁鲁99| 欧美在线色视频| 国产精品久久久久aaaa樱花 | 午夜免费欧美电影| 色综合久久中文综合久久牛| 久久久蜜桃精品| 蜜臀av一级做a爰片久久| 欧美在线你懂得| 一区二区三区四区乱视频| 99九九99九九九视频精品| 国产日韩欧美综合在线| 免费人成网站在线观看欧美高清| 日本道免费精品一区二区三区| 国产精品免费免费| 成人av综合一区| 中文字幕精品一区二区精品绿巨人| 韩国一区二区视频| 精品少妇一区二区三区在线播放| 调教+趴+乳夹+国产+精品| 欧美视频在线播放| 一区二区三区四区亚洲| 在线视频综合导航| 亚洲人午夜精品天堂一二香蕉| 91美女蜜桃在线| 亚洲综合一二区|