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

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

?? bo9-7.cpp

?? 數(shù)據(jù)結(jié)構(gòu)(嚴慰民)配套純C代碼,準確理解源代碼的真諦
?? CPP
字號:
 // bo9-7.cpp 哈希函數(shù)的基本操作
 Status InitHashTable(HashTable &H)
 { // 操作結(jié)果: 構(gòu)造一個空的哈希表
   int i;
   H.count=0; // 當(dāng)前元素個數(shù)為0
   H.sizeindex=0; // 初始存儲容量為hashsize[0]
   m=hashsize[0];
   H.elem=(ElemType*)malloc(m*sizeof(ElemType));
   if(!H.elem)
     exit(OVERFLOW); // 存儲分配失敗
   for(i=0;i<m;i++)
     H.elem[i].key=NULLKEY; // 未填記錄的標志
   return OK;
 }

 void DestroyHashTable(HashTable &H)
 { // 初始條件: 哈希表H存在。操作結(jié)果: 銷毀哈希表H
   free(H.elem);
   H.elem=NULL;
   H.count=0;
   H.sizeindex=0;
 }

 unsigned Hash(KeyType K)
 { // 一個簡單的哈希函數(shù)(m為表長,全局變量)
   return K%m;
 }

 void collision(int &p,int d) // 線性探測再散列
 { // 開放定址法處理沖突
   p=(p+d)%m;
 }

 Status SearchHash(HashTable H,KeyType K,int &p,int &c)
 { // 在開放定址哈希表H中查找關(guān)鍵碼為K的元素,若查找成功,以p指示待查數(shù)據(jù)
   // 元素在表中位置,并返回SUCCESS;否則,以p指示插入位置,并返回UNSUCCESS
   // c用以計沖突次數(shù),其初值置零,供建表插入時參考。算法9.17
   p=Hash(K); // 求得哈希地址
   while(H.elem[p].key!=NULLKEY&&!EQ(K,H.elem[p].key))
   { // 該位置中填有記錄.并且關(guān)鍵字不相等
     c++;
     if(c<m)
       collision(p,c); // 求得下一探查地址p
     else
       break;
   }
   if EQ(K,H.elem[p].key)
     return SUCCESS; // 查找成功,p返回待查數(shù)據(jù)元素位置
   else
     return UNSUCCESS; // 查找不成功(H.elem[p].key==NULLKEY),p返回的是插入位置
 }

 Status InsertHash(HashTable &,ElemType); // 對函數(shù)的聲明
 void RecreateHashTable(HashTable &H) // 重建哈希表
 { // 重建哈希表
   int i,count=H.count;
   ElemType *p,*elem=(ElemType*)malloc(count*sizeof(ElemType));
   p=elem;
   printf("重建哈希表\n");
   for(i=0;i<m;i++) // 保存原有的數(shù)據(jù)到elem中
     if((H.elem+i)->key!=NULLKEY) // 該單元有數(shù)據(jù)
       *p++=*(H.elem+i);
   H.count=0;
   H.sizeindex++; // 增大存儲容量
   m=hashsize[H.sizeindex];
   p=(ElemType*)realloc(H.elem,m*sizeof(ElemType));
   if(!p)
     exit(OVERFLOW); // 存儲分配失敗
   H.elem=p;
   for(i=0;i<m;i++)
     H.elem[i].key=NULLKEY; // 未填記錄的標志(初始化)
   for(p=elem;p<elem+count;p++) // 將原有的數(shù)據(jù)按照新的表長插入到重建的哈希表中
     InsertHash(H,*p);
 }

 Status InsertHash(HashTable &H,ElemType e)
 { // 查找不成功時插入數(shù)據(jù)元素e到開放定址哈希表H中,并返回OK;
   // 若沖突次數(shù)過大,則重建哈希表,算法9.18
   int c,p;
   c=0;
   if(SearchHash(H,e.key,p,c)) // 表中已有與e有相同關(guān)鍵字的元素
     return DUPLICATE;
   else if(c<hashsize[H.sizeindex]/2) // 沖突次數(shù)c未達到上限,(c的閥值可調(diào))
   { // 插入e
     H.elem[p]=e;
     ++H.count;
     return OK;
   }
   else
     RecreateHashTable(H); // 重建哈希表
   return ERROR;
 }

 void TraverseHash(HashTable H,void(*Vi)(int,ElemType))
 { // 按哈希地址的順序遍歷哈希表
   printf("哈希地址0~%d\n",m-1);
   for(int i=0;i<m;i++)
     if(H.elem[i].key!=NULLKEY) // 有數(shù)據(jù)
       Vi(i,H.elem[i]);
 }

 Status Find(HashTable H,KeyType K,int &p)
 { // 在開放定址哈希表H中查找關(guān)鍵碼為K的元素,若查找成功,以p指示待查數(shù)據(jù)
   // 元素在表中位置,并返回SUCCESS;否則,返回UNSUCCESS
   int c=0;
   p=Hash(K); // 求得哈希地址
   while(H.elem[p].key!=NULLKEY&&!EQ(K,H.elem[p].key))
   { // 該位置中填有記錄.并且關(guān)鍵字不相等
     c++;
     if(c<m)
       collision(p,c); // 求得下一探查地址p
     else
     return UNSUCCESS; // 查找不成功(H.elem[p].key==NULLKEY)
   }
   if EQ(K,H.elem[p].key)
     return SUCCESS; // 查找成功,p返回待查數(shù)據(jù)元素位置
   else
     return UNSUCCESS; // 查找不成功(H.elem[p].key==NULLKEY)
 }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久88色综合天天免费| 精品久久免费看| 欧美一级欧美三级| 国产欧美日韩综合| 另类小说图片综合网| 色哟哟国产精品免费观看| 国产亚洲美州欧州综合国| 日韩制服丝袜av| 91精彩视频在线观看| 国产精品不卡一区二区三区| 麻豆精品一区二区综合av| 欧美日韩在线免费视频| 136国产福利精品导航| 韩国女主播成人在线观看| 91麻豆精品国产91久久久资源速度 | 日韩视频一区二区在线观看| 一区二区三区在线视频免费观看| 国产成人在线视频网址| 欧美精品一区二区三区四区| 日韩中文字幕亚洲一区二区va在线| 91黄色免费观看| 亚洲精品成人在线| 91视频国产资源| 亚洲欧美怡红院| 99re视频精品| 亚洲精品日日夜夜| 色婷婷综合在线| 亚洲精品伦理在线| 色久综合一二码| 亚洲欧美日本在线| 色综合中文综合网| 国产精品1区二区.| 日韩欧美国产精品| 老汉av免费一区二区三区| 91精品中文字幕一区二区三区| 亚洲愉拍自拍另类高清精品| 在线免费视频一区二区| 亚洲精品精品亚洲| 日本丶国产丶欧美色综合| 一区二区免费看| 欧美乱妇15p| 蜜臀久久久99精品久久久久久| 欧美一区二区三区性视频| 美脚の诱脚舐め脚责91 | 丁香婷婷综合五月| 中文字幕 久热精品 视频在线 | 国产麻豆精品久久一二三| 国产三级精品视频| 99天天综合性| 五月婷婷激情综合| 一区二区三区四区在线| 91国偷自产一区二区三区观看| 亚洲www啪成人一区二区麻豆| 69精品人人人人| 国产精品影视在线| 亚洲欧美色图小说| 欧美人妇做爰xxxⅹ性高电影| 蜜桃av一区二区| 亚洲欧洲精品一区二区精品久久久| 欧美三区在线视频| 国内精品久久久久影院一蜜桃| 欧美国产精品v| 欧美伦理影视网| 国产盗摄女厕一区二区三区| 亚洲三级电影网站| 日韩精品一区二区三区swag | 国产suv精品一区二区三区| 1024国产精品| 91精品国产综合久久香蕉的特点| 狠狠狠色丁香婷婷综合激情| 亚洲天堂2016| 久久久亚洲午夜电影| 色婷婷久久久久swag精品| 久久不见久久见中文字幕免费| 亚洲同性同志一二三专区| 欧美成人一区二区三区在线观看| 91视视频在线观看入口直接观看www | 激情五月婷婷综合| 亚洲精品视频在线观看免费| 日韩精品自拍偷拍| 欧美日韩免费高清一区色橹橹| 国产一区二三区好的| 午夜欧美视频在线观看| 亚洲五月六月丁香激情| 丝袜诱惑制服诱惑色一区在线观看| 欧美一区二区三区视频在线| 99视频在线精品| 国产ts人妖一区二区| 日韩成人一级大片| 一区2区3区在线看| 亚洲国产精品t66y| 精品美女一区二区| 宅男在线国产精品| 欧美美女一区二区在线观看| 色哟哟国产精品免费观看| 成人激情免费视频| 国产盗摄女厕一区二区三区| 麻豆精品一二三| 天堂成人国产精品一区| 一二三四社区欧美黄| 亚洲美女在线一区| 综合欧美亚洲日本| 综合激情成人伊人| 欧美高清在线一区| 国产精品久久久久国产精品日日| 26uuu另类欧美亚洲曰本| 欧美一级欧美三级| 日韩欧美在线不卡| 日韩免费一区二区| 欧美大片在线观看一区二区| 欧美日韩国产三级| 欧美日本国产视频| 欧美精品久久一区| 欧美精品在线观看一区二区| 欧美精品一二三| 欧美一区二区啪啪| 欧美mv和日韩mv的网站| 精品欧美黑人一区二区三区| 日韩亚洲欧美高清| 日韩精品一区二区三区中文精品| 日韩欧美国产一区二区在线播放 | 国产精品久久一级| 亚洲欧洲av在线| 亚洲欧美自拍偷拍| 亚洲一区二区三区小说| 天堂成人国产精品一区| 精品一区二区在线看| 国产麻豆视频精品| 97久久久精品综合88久久| 色噜噜狠狠色综合欧洲selulu| 欧美日韩卡一卡二| 精品日韩一区二区三区| 日本一区二区在线不卡| 亚洲品质自拍视频网站| 亚洲成人中文在线| 寂寞少妇一区二区三区| 成人免费av在线| 欧美人牲a欧美精品| 久久久九九九九| 国产精品盗摄一区二区三区| 亚洲超丰满肉感bbw| 国产在线播放一区三区四| 成人免费va视频| 欧美日本一区二区在线观看| 精品日产卡一卡二卡麻豆| 国产精品色哟哟网站| 水蜜桃久久夜色精品一区的特点 | 日韩中文字幕亚洲一区二区va在线 | 久久久久久97三级| 一区二区三区四区乱视频| 奇米影视一区二区三区| 成人av午夜电影| 91精品国产综合久久久久久久久久 | 欧美一区二区三区婷婷月色| 国产三级精品视频| 日韩精品免费专区| 成人深夜视频在线观看| 欧美一二三区精品| 亚洲免费毛片网站| 国产乱人伦精品一区二区在线观看 | 久久久综合网站| 亚洲高清不卡在线观看| 国产不卡视频在线观看| 91精品国产综合久久精品app| 国产拍揄自揄精品视频麻豆| 亚洲成人动漫精品| 99在线热播精品免费| 精品理论电影在线观看| 亚洲成a人v欧美综合天堂下载 | 亚洲视频你懂的| 国产精选一区二区三区| 欧美精品一卡二卡| 玉足女爽爽91| 99精品偷自拍| 亚洲一区二区三区精品在线| 国产高清成人在线| 精品国产伦一区二区三区观看方式 | 欧美日韩一区不卡| 国产精品视频线看| 国产美女av一区二区三区| 日韩欧美国产综合一区| 偷窥国产亚洲免费视频| 一本色道亚洲精品aⅴ| 国产精品国产三级国产aⅴ无密码| 国产在线观看免费一区| 日韩美一区二区三区| 日韩精品每日更新| 9191成人精品久久| 亚洲成人动漫在线观看| 欧美艳星brazzers| 亚洲高清免费视频| 欧美三级视频在线| 亚洲国产精品嫩草影院| 欧美性猛交xxxxxxxx| 亚洲午夜视频在线观看| 欧美天堂一区二区三区| 亚洲男同性视频| 色999日韩国产欧美一区二区| 亚洲婷婷综合色高清在线| 色综合久久天天综合网|