让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
```python
定义链表节点
class Node: def init(self, val): self.val = val self.next = None
定义哈希表类
class HashTable: def init(self, size, mode, num, keys): self.size = size self.mode = mode self.num = num self.table = [None] * size
for key in keys:
self.insert(key)
# 插入关键码
def insert(self, key):
pos = key % self.mode
if self.table[pos] is None:
self.table[pos] = Node(key)
else:
new_node = Node(key)
new_node.next = self.table[pos]
self.table[pos] = new_node
# 查找关键码
def search(self, key):
pos = key % self.mode
if self.table[pos] is None:
return "none"
else:
cur = self.table[pos]
index = 1
while cur:
if cur.val == key:
return (pos, index)
cur = cur.next
index += 1
return "none"
输入闭散列表的长度n、除留余数法的模m、关键码的个数num
n, m, num = map(int, input().split())
输入关键码列表
keys = list(map(int, input().split()))
创建哈希表
hash_table = HashTable(n, m, num, keys)
输入三个待查整型值
values = list(map(int, input().split()))
查找并输出结果
for value in values: result = hash_table.search(value) if result == "none": hash_table.insert(value) print("none") else: print(result[0], result[1])
输入样例
11 11 9 2 6 8 9 13 17 10 12 20 11 13 9
输出样例
none 2 1 9 2