給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式h(key) = key % p將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。
輸入格式:
輸入第一行首先給出兩個正整數n(≤1000)和p(≥n的最小素數),分別為待插入的關鍵字總數、以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。
輸出格式:
在一行內輸出每個整型關鍵字在雜湊表中的位置。數字間以空格分隔,但行末尾不得有多餘空格。
輸入樣例:
4524
1561
88
輸出樣例:
401
3
思路:一開始沒懂題意是什麼意思,說明太少,後來發現是查詢表中有沒有這個數字,有的話輸出位置,避免重複插入,沒有的話插入(位置為a對k求餘)但是不同的數求餘完可能會相同,這時候就要插入到下乙個空位置,因為n < k所以永遠不會插滿,有空位置,挺無聊的這題,花裡胡哨的
#include
using
namespace std;
int s[
1001];
bool vis[
1001];
intmain()
}if(!flag)
if(i !=0)
cout <<
" ";
cout << pos;
}}
7 42 整型關鍵字的雜湊對映 25分
給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入格式 輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。輸出格式 在一行內輸出每個整...
整型關鍵字的雜湊對映
p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為 p的雜湊表中。用線性探測法解決衝突。輸入第一行首先給出兩個正整數n 100 0 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出 n個整型關鍵字。數字間以空格分隔。在一行內輸出每個整型關鍵字在雜湊表中的位置。數字間以空格分...
整型關鍵字的雜湊對映
7 11 整型關鍵字的雜湊對映 25 分 給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分...