散列_双重散列

散列_双重散列散列

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

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

 

#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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C++ SetTimer

    C++ SetTimer我搞了好久 最终也没成功的让SetTimer 回调一个非静态成员函数不过问题是解决了那就是把成员函数和要用到的那个成员变量换成静态了(有点拆东墙补西墙了)不过方法肯定是有的UINT_PTRSetTimer(HWNDhWnd,//窗口句柄UINT_PTRnIDEvent,//定时器ID,多个定时器

    2022年10月23日
  • 聊聊自学,让你事半功倍的学习网站和工具「建议收藏」

    聊聊自学,让你事半功倍的学习网站和工具「建议收藏」压箱底的藏货~

  • java定时器「建议收藏」

    java定时器「建议收藏」java定时器

  • 【mysql 索引】mysql 添加索引

    【mysql 索引】mysql 添加索引主要内容:1、什么是索引2、添加索引sql3、索引所用的算法4、补充下概念5、索引的缺点6、经典案例一、什么是索引?  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建

  • Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

    Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

  • ABA问题_乐观锁aba引发的实际问题

    ABA问题_乐观锁aba引发的实际问题ABA问题一.概述:二.什么是ABA问题?三.ABA问题的解决:原子引用:(存在ABA问题)带版本号的原子引用(解决ABA问题)一.概述:ABA问题是在多线程并发的情况下,发生的一种现象。上一次记录了有关CAS操作的一些知识,CAS通过比较内存中的一个数据是否是预期值,如果是就将它修改成新值,如果不是则进行自旋,重复比较的操作,直到某一刻内存值等于预期值再进行修改。而ABA问题则是在CAS操作中存在的一个经典问题,这个问题某些时候不会带来任何影响,某些时候却是影响很大的。二.什么是ABA问题?理解一

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

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