給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。
輸入格式:
輸入第一行首先給出兩個正整數n(≤1000)和p(≥n的最小素數),分別為待插入的關鍵字總數、以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。
輸出格式:
在一行內輸出每個整型關鍵字在雜湊表中的位置。數字間以空格分隔,但行末尾不得有多餘空格。
輸入樣例:
4 524 15 61 88
輸出樣例:
4 0 1 3
太坑了,這個題唯一的坑點就是 ,如果你輸入的有重複的數字,輸出第一次的位置
比如:輸入:
4 524 24 24 24
輸出:4 4 4 4;
**:
#include
#define max 100005
int table[max]
;int visit[max]
;int
main()
//先在雜湊表的長度內找找有沒有重複的數字,如果有,flag=1,break跳出 }if
( flag )
int r = m % p;
//沒有找到重複的就按照正常的方法探測
while
( visit[r]
) table[r]
=m;//在雜湊表的r位置記錄m
visit[r]=1
;//r標記為已經有元素占有
if( i ==0)
printf
("%d"
, r )
;else
printf
(" %d"
, r );}
return0;
}
整型關鍵字的雜湊對映
p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為 p的雜湊表中。用線性探測法解決衝突。輸入第一行首先給出兩個正整數n 100 0 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出 n個整型關鍵字。數字間以空格分隔。在一行內輸出每個整型關鍵字在雜湊表中的位置。數字間以空格分...
整型關鍵字的雜湊對映
7 11 整型關鍵字的雜湊對映 25 分 給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分...
整型關鍵字的雜湊對映
給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入格式 輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。輸出格式 在一行內輸出每個整...