散列_双重散列

散列_双重散列散列

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

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

 

#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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sourceinsight注册码安装汉化教程_sourceinsight4.0中文乱码

    sourceinsight注册码安装汉化教程_sourceinsight4.0中文乱码注册码:SI3US-230590-09757SI3US-840598-11493SI3US-404808-04697SI3US-510811-93484SI3US-343066-11287

    2022年10月3日
    3
  • linux配置ntp时间同步客户端(小红帽系统怎么关闭程序)

    NTP网络时间服务器在LINUX系统设置方法(小红帽版)NTP网络时间服务器在LINUX系统设置方法(小红帽版)第一种方法:1.Linux系统使用命令行配置:在Linux上面执行ntpdate:ntpdate1Array2.168.0.1#1Array2.168.0.1是NTP服务器的IP2.使用hwclock命令,把时间写入bioshwclock-w如果想定时进行时间校准,可以使用crond服务来定时执行。编辑/etc/crontab文件加入下面一行:308**

    2022年4月10日
    77
  • navicat prem激活码(注册激活)

    (navicat prem激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月27日
    84
  • ubuntu12.04 安装和配置jdk1.7

    ubuntu12.04 安装和配置jdk1.7

    2021年12月30日
    50
  • C#下怎样处理并保存单色格式PNG图片?

    C#下怎样处理并保存单色格式PNG图片?  用微软自带的画图,打开一个已经存在的单色PNG图片文件,然后复制图像粘贴上去,做点反色或其他处理再保存,可以得到黑白单色PNG图片;但是,如果有很多黑底白字的图片要想改成白纸黑字的单色PNG格式保存这就很麻烦了,譬如2,3百张BMP或JPG图片用来保存只有白纸黑字的书页真是浪费。可是,有些索引格式图像如单色位图,或者单色PNG,如果用C#的Graphics类处理之后,保存文件只能得

    2022年7月21日
    14
  • 一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]

    一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]子网划分理论基础为什么进行子网划分减少网络流量,无论什么样的流量,我们都希望它少些,网络流量亦如此。如果没有可信赖的路由器,网络流量可能导致整个网络停顿,但有了路由器后,大部分流量都将呆在本地网络内,只有前往其他网络的分组将穿越路由器。路由器增加广播域,广播域越多,每个广播轻松划分子网域就越小,而每个网段的网络流量也越少。优化网络性能,这是减少网络流量的结果。简化管理,与庞大的网络相比,在一系列相连的小网络中找出并隔离网络问题更容易。有助于覆盖大型地理区域,WAN链路比LAN链路的速度慢得多,且

    2022年6月27日
    27

发表回复

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

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