其他分享
首页 > 其他分享> > 模拟散列表开放寻址法

模拟散列表开放寻址法

作者:互联网

#include <iostream>
#include <cstring>
using namespace std;

const int N=200003,null=0x3f3f3f3f;

int h[N];


bool find1(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=find1(x);
        if(*op == 'I')h[k]=x;
        else{
            if(h[k]!=null) puts("Yes");
            else puts("No");
        }

    }
    return 0;
}

标签:puts,int,scanf,find1,列表,寻址,null,模拟,op
来源: https://blog.csdn.net/qq_45626348/article/details/122497059