散列_双重散列

散列_双重散列散列

大家好,又见面了,我是你们的朋友全栈君。

散列_双重散列散列_双重散列

 

#include <stdio.h>

const int maxN = 100010;
bool hashTable[maxN] = {
   
   false};
int main() {
    int i, n, m, x;
    printf("请输入集合n和集合m中元素的个数分别为:");
    scanf("%d%d", &n, &m);
    printf("请输入集合n中的元素:");
    for(i = 0; i < n; i++) {
        scanf("%d", &x);
        hashTable[x] = true; //数字x出现过
    }
    printf("请输入集合m中的元素:");
    for(i = 0; i < m; i++) {
        scanf("%d", &x);
        if(hashTable[x] == true) {
            printf("yes\n");
        } else {
            printf("no\n");
        }
    }
    return 0;
}

散列_双重散列

散列_双重散列

#include <stdio.h>

const int maxN = 100010;
int hashTable[maxN] = {
   
   0};
int main() {
    int i, n, m, x;
    printf("请输入集合n和集合m中元素的个数分别为:");
    scanf("%d%d", &n, &m);
    printf("请输入集合n中的元素:");
    for(i = 0; i < n; i++) {
        scanf("%d", &x);
        hashTable[x]++;
    }
    printf("请输入集合m中的元素:");
    for(i = 0; i < m; i++) {
        scanf("%d", &x);
        printf("%d \n",hashTable[x]);
    }
    return 0;
}

散列_双重散列

散列_双重散列散列_双重散列散列_双重散列散列_双重散列

散列_双重散列

int hashFunc(char S[], int len) {
    int id = 0;
    for(int i = 0; i < len; i++) {
        id = id * 26 + (S[i] - 'A');
    }
    return id;
}

散列_双重散列

int hashFunc(char S[], int len) { //散列函数,将字符串S转化为整数
    int id = 0;
    for(int i = 0; i < len; i++) {
        if(S[i] >= 'A' && S[i] <= 'Z') {
            id = id * 52 + (S[i] - 'A');
        } else if(S[i] > 'a' && S[i] < 'z') {
            id = id * 52 + (S[i] - 'A') + 26;
        }
    }
    return id;
}

 

转载于:https://www.cnblogs.com/xinmomoyan/p/10745800.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106866.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++ VS2012 内存泄露检测

    在VS2012中添加部分代码,可以起到检测内存泄露的作用。今天刚刚收到的解决办法,原理还不是很清楚。先分享出来1.头文件中添加以下代码2.main函数中添加程序在DEBUG模式下运行时,就

    2021年12月25日
    39
  • plc梯形图编程入门基础知识_plc梯形图实例详解

    plc梯形图编程入门基础知识_plc梯形图实例详解​上升沿下降沿梯形图解析上升沿:上升沿就是此点从不通到通的过程,在PLC里面表现就是只通一次。举例:上图,当按钮1未按下的时候按钮1是断开的,此点不通,当按钮1被按下,按钮1导通,上面上升沿指令表示当按钮1按下去后,PLC只通一次,后面不管按钮1是否按下,整条线路都不通。下降沿:下降沿就是此点从通到不通的过程,在PLC里面就表现就是只通一次。举例:上图,当按钮1已经按下,按钮1已经导通,在按一次使按钮1瑞口,当按钮1从导通到断开,这条线路通一次,通了以后按钮1不管是通…

    2025年10月25日
    10
  • opencv-形态处理

    opencv-形态处理

    2022年1月10日
    41
  • Win10自动更新永久关闭,有效的Win10强制更新关闭方法,禁止windows10自动更新,禁止update medic service ,win10显示更新并关机没有单独的关机按钮[通俗易懂]

    Win10自动更新永久关闭,有效的Win10强制更新关闭方法,禁止windows10自动更新,禁止update medic service ,win10显示更新并关机没有单独的关机按钮[通俗易懂]禁用update服务,光这个不行,下边还有windowsupdatemedicservice禁止流程鼠标右键此电脑–>管理–>服务和应用程序–>服务–>windowsupdate–>选择禁用,如果该服务已经启动,记得点击停止,然后点击右下角的应用再确定,确定,就禁止了update服务,但是这个貌似有时候就又启动了,再往下看禁用windowsup…

    2022年5月8日
    327
  • pycharm多行代码同时注释、去除注释_vs如何统计代码行数

    pycharm多行代码同时注释、去除注释_vs如何统计代码行数使用pycharm编写Python脚本的时候,先选中需要注释的行,然后同时按键盘右下角的—-Ctrl和Ctrl键正上方的‘/’键—可以实现多行注释注意:1、只有在pycharm中编写Python代码(以.py结尾的文件)才能用此方法去多行注释2、在选中行的时候不管是全部选中,还是只选中了该行中的的部分代码,都能实现多行注释,如下图:注释前:注释后:…

    2022年8月28日
    5
  • 因果图方法是根据( )之间的因果关系来设计测试用例的_因果图法符号

    因果图方法是根据( )之间的因果关系来设计测试用例的_因果图法符号原标题:因果推断简介之五:因果图(CausalDiagram)编辑部于2019年10月在微信端开启《朝花夕拾》栏目,目的是推送2013年(含)之前主站发表的优秀文章,微信端与主站的同步始于2013年年初,然而初期用户量有限,故优质文章可能被埋没。这部分介绍JudeaPearl于1995年发表在Biometrika上的工作“Causaldiagramsforempirica…

    2022年8月14日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号