寒假補充專案-雜湊法的儲存與查詢(開發地址法)
#include <iostream>
using namespace std;
int searchHash(int h[], int l, int key);
void insertHash(int h[], int l, int data);
int main()
{
const int hashLength = 13;//雜湊表長度
int hashTable[hashLength]={0};
int m, n;
//建立hash
for (int i = 0; i < 6; i++)
{
cin>>n;
insertHash(hashTable, hashLength, n);
}
cin>>m;
int result = searchHash(hashTable,hashLength, m);
if (result != -1)
cout<<"已經在陣列中找到,位置為:" << result<<endl;
else
cout<<"沒有此原始"<<endl;
return 0;
}
int searchHash(int h[], int l, int key)
{
// 雜湊函式
int hashAddress = key % l;
// 指定hashAdrress對應值存在但不是關鍵值,則用開放定址法解決
while (h[hashAddress] != 0 && h[hashAddress] != key)
{
hashAddress = (++hashAddress) % l;
}
// 查詢到了開放單元,表示查詢失敗
if (h[hashAddress] == 0)
return -1;
return hashAddress;
}
// 資料插入Hash表
void insertHash(int h[], int l, int data)
{
// 雜湊函式
int hashAddress = data % l;
// 如果key存在,則說明已經被別人佔用,此時必須解決衝突
while (h[hashAddress] != 0)
{
// 用開放定址法找到
hashAddress = (++hashAddress) % l;
}
// 將data存入字典中
h[hashAddress] = data;
}
相關文章
- 寒假補充專案-回溯法走迷宮
- 查詢(3)--雜湊表(雜湊查詢)
- 淺析雜湊儲存
- Linq查詢語法與擴充方法
- 字串查詢(字串雜湊)字串
- 雜湊查詢演算法演算法
- 雜湊查詢 兩數之和
- 【演算法】9 雜湊表【待補充】演算法
- 實戰資料結構(10)_雜湊表的使用--開地址法解決衝突資料結構
- 雜湊技術【雜湊表】查詢演算法 PHP 版演算法PHP
- 第二章 :查詢與排序---------遞迴、查詢與排序補充排序遞迴
- oracle 雜湊查詢與巢狀查詢跟表的先後關係測試Oracle巢狀
- 查詢演算法及雜湊表演算法
- 樹形結構的儲存與查詢
- InnoDB儲存引擎——自適應雜湊索引儲存引擎索引
- 圖解兩數之和:雜湊表法圖解
- 雜湊競猜遊戲系統開發(方案及邏輯)丨雜湊競猜遊戲開發(原始碼及專案)遊戲開發原始碼
- 【PHP資料結構】雜湊表查詢PHP資料結構
- Golang基礎語法補充Golang
- Linux中ifconfig無法查詢ip地址Linux
- 雜湊表 ADT 開放地址法解決衝突【資料結構與演算法分析 c 語言描述】資料結構演算法
- Hash雜湊競猜遊戲系統開發(詳細及分析)丨雜湊Hash競猜遊戲系統開發(原始碼專案)遊戲原始碼
- 淺談雜湊法及其解決衝突的方法
- 【尋跡#3】 雜湊與雜湊表
- C#基礎語法補充C#
- 雜湊競猜遊戲開發示例丨Hash雜湊遊戲系統開發丨雜湊競猜遊戲詳情遊戲開發
- 雜湊遊戲原始碼開發搭建丨hash雜湊遊戲競猜原始碼搭建丨雜湊遊戲系統開發遊戲原始碼
- css雜項補充CSS
- 儲存過程語法與Java程式的呼叫方式儲存過程Java
- 【六褘-Java】雜湊演算法記憶體圖;set集合低層採用雜湊表儲存元素;雜湊演算法的流程Java演算法記憶體
- PostgreSQL-並行雜湊JOIN分析查詢效能爆炸SQL並行
- 雜湊擴充套件攻擊套件
- HASH雜湊遊戲原始碼丨HASH雜湊遊戲系統開發丨HASH雜湊遊戲開發成品原始碼部署原始碼遊戲開發
- 雜湊遊戲系統丨雜湊遊戲系統開發(演示版)丨雜湊遊戲開發原始碼及案例遊戲開發原始碼
- 簡單的查詢語法
- 儲存過程語法儲存過程
- 實現鍵值對儲存(五):雜湊表實現
- 微信小程式開發-IP地址查詢-例子微信小程式