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

存儲待查

發布時間: 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; //查找不成功
}

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:595
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:889
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:583
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:766
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:687
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1015
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:258
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:117
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:808
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:715