7-42 整型关键字的散列映射


题目链接这里
题目大意 :就是写一个线性探测的散列

然鹅,我不会写(?)我一共错了两个地方

  1. 有冲突的情况下,就是线性探查然后往后找,但是我之前写的是t++,应该是t = (t+1)%p;...
  2. 在有重复关键字的时候,重复的那个值不应该放到散列表里面...也就是应该线性探查的时候碰到相同的跳出来就可以了...(别忘了散列是干什么的啊喂!查找!

正确代码:

cpp 复制代码
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int main(void)
{
	int n, p;
	scanf("%d%d", &n, &p);
	vector<int> s(p, 0);
    vector<int> flg(p,0);
	for (int i = 0; i < n; i++)
	{
		int a;
		scanf("%d", &a);
		int t = a%p;
		while (flg[t] != 0 && s[t] != a)
			t = (t+1)%p;
		s[t] = a;
        flg[t] = 1;
		printf("%d", t);
		if (i != n - 1)
			printf(" ");
	}
}
相关推荐
MATLAB代码顾问12 小时前
混合粒子群-模拟退火算法(HPSO-SA)求解作业车间调度问题——附MATLAB代码
算法·matlab·模拟退火算法
Felven12 小时前
C. Prefix Min and Suffix Max
算法
加农炮手Jinx12 小时前
LeetCode 26. Remove Duplicates from Sorted Array 题解
算法·leetcode·力扣
加农炮手Jinx12 小时前
LeetCode 88. Merge Sorted Array 题解
算法·leetcode·力扣
格林威12 小时前
线阵工业相机:如何计算线阵相机的行频(Line Rate)?公式+实例
开发语言·人工智能·数码相机·算法·计算机视觉·工业相机·线阵相机
yueyue54313 小时前
透过现象看本质:以fast_lio架构的整套算法的局部避障改为TEB算法为例深度探讨——如何成为一个合格的算法架构师?
算法·架构
梨花爱跨境13 小时前
红人视频×A10算法:亚马逊转化率与流量闭环实战
算法
近津薪荼13 小时前
C++ vector容器底层深度剖析与模拟实现
开发语言·c++
广州山泉婚姻13 小时前
C++ STL Vector 入门与实战全攻略
c语言·c++
阿Y加油吧13 小时前
二刷 LeetCode:75. 颜色分类 & 31. 下一个排列 复盘笔记
笔记·算法·leetcode