當前位置:首頁 » 存儲配置 » 存儲待查

存儲待查

發布時間: 2023-01-09 08:38:17

㈠ 關於C++中的哈希表


{int elem[MAXSIZE]; //數據元素體
HAVEORNOT elemflag[MAXSIZE]; //元素狀態標志,沒有記錄、有記錄、有過記錄但已被刪除
int count; //哈希表中當前元素的個數
}HashTable;

BOOL DeleteHash(HashTable &H,Record e)
{//在查找成功時刪除待刪元素e,並返回True,否則返回False
int p;
if(!SearchHash(H,e.keynum,p)) //表中不存在待刪元素
return False;
else
{H.elemflag[p]=DELKEY; //設置標志為DELKEY,表明該元素已被刪除
H.count--; //哈希表當前長度減一
return True;
}
}

BOOL SearchHash(HashTable H,int k,int &p)
{//在開放定址哈希表H中查找關鍵字為k的數據元素,若查找成功,以p指示
//待查數據元素在表中的位置,並返回True;否則,以p指示插入位置,並
//返回False
int p1;
p1=p=Hash(k); //求得哈希地址
while(H.elemflag[p]==HAVEKEY&&k!=H.elem[p])
//該位置中填有記錄並且關鍵字不相等
{p++; //沖突處理方法:線性探測再散列
if(p>=MAXSIZE) p=p%MAXSIZE; //循環搜索
if(p==p1) return False; //整個表已搜索完,沒有找到待查元素
}
if(k==H.elem[p]&&H.elemflag[p]==HAVEKEY) //查找成功,p指示待查元素位置
return True;
else return False; //查找不成功
}

熱點內容
怎麼不用錢搭建雲伺服器 發布:2025-07-25 11:59:22 瀏覽:449
怎麼看編譯符號表 發布:2025-07-25 11:48:33 瀏覽:679
中維客戶端密碼多少 發布:2025-07-25 11:33:34 瀏覽:10
u盤超級加密3000如何 發布:2025-07-25 11:22:58 瀏覽:688
worm演算法 發布:2025-07-25 11:21:14 瀏覽:491
pop郵件伺服器如何刪除用戶 發布:2025-07-25 11:02:49 瀏覽:155
資料庫保存html 發布:2025-07-25 11:02:41 瀏覽:707
php套表格 發布:2025-07-25 10:58:57 瀏覽:300
樹葉特效源碼 發布:2025-07-25 10:50:13 瀏覽:629
解壓陶瓷 發布:2025-07-25 10:47:23 瀏覽:670