zoukankan      html  css  js  c++  java
  • 散列

    #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
    ");
            } else {
                printf("no
    ");
            }
        }
        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 
    ",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;
    }
  • 相关阅读:
    谷歌浏览器设置跨域失败
    Validation of viewstate MAC failed 解决办法--zt
    如何查看Oracle客户端版本及位数(Windows系统)(转)
    程序员集锦
    如何最快速地适应新的工作
    Oracle 03113
    Shell中字符串、数值的比较
    K8S客户端安装及使用
    kubectl的使用
    Helm 入门指南
  • 原文地址:https://www.cnblogs.com/xinmomoyan/p/10745800.html
Copyright © 2011-2022 走看看