当前位置: 首页 > article >正文

AC840. 模拟散列表

寻址法:

为什么要两倍的2的质数

op是字符数组,所以*op代表数组第一个

memset(h,0x3f,sizeof h);为什么不是默认为0x3f3f3f3f.

#include<iostream>
#include <cstring>
using namespace std;
const int N=200003,null=0x3f3f3f3f;
int h[N];
int find(int x){
    int k=(x%N+N)%N;//索引
    while(h[k]!=null&&h[k]!=x)
    {
        k++;
        if(k==N)k=0;//重新搜索
    }
    return k;//又返回值
}
int main()
{
    int n;
    scanf("%d",&n);
    memset(h,0x3f,sizeof h);

    while(n--)
    {
        char op[2];
        int x;
        scanf("%s%d",op,&x);

        int k=find(x);
        if(*op =='I')h[k]=x;
        else{
            if(h[k]!=null)puts("Yes");
            else puts("No");
        }
    }
return 0;
}


http://www.kler.cn/a/160767.html

相关文章:

  • 红日靶机(七)笔记
  • 单例模式详解:如何优雅地实现线程安全的单例
  • 低功耗WTK6900P语音ic方案助力电子烟技术革新 打造个性化吸烟体验
  • 通过脚本,发起分支合并请求和打tag
  • 软件设计师-信息安全
  • AI大模型开发架构设计(14)——基于LangChain大模型的案例架构实战
  • 软件开发测试系统的建立
  • docker安装informix
  • 大模型发展对教育领域的巨大影响
  • 企业管理平台知识体系构建
  • 2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)
  • 酷开科技两大方向提升OTT大屏营销能力
  • ios 逆向分分析,某业帮逆向算法(二)
  • 英伟达将在日本建立AI工厂网络
  • 【高数:2 数列的极限、函数的极限】
  • 如何衡量和提高测试覆盖率?
  • C //例10.3 从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。
  • kali linux下可用的wine QQ/微信
  • html和css写淘宝的快速导航条
  • uni-app 微信小程序之自定义navigationBar顶部导航栏
  • 使用函数计算,数禾如何实现高效的数据处理?
  • 系统思考与啤酒游戏经营沙盘
  • Spring Cloud Stream 4.0.4 rabbitmq 发送消息多function
  • 数据库原理: 笛卡儿积
  • 天池SQL训练营(二)-SQL基础查询与排序
  • 用 C 写一个卷积神经网络