美文网首页
10-4 Hash算法

10-4 Hash算法

作者: Rumbles | 来源:发表于2019-04-14 22:41 被阅读0次

    在一个字符串当中找到只出现一次的字符

    char是一个长度为8字节的数据类型 字符一共有 256种可能
    那么就可以根据ASCII码值作为数组下标对应数组的一个映射表
    
    char findFirstChar(char* cha)
    {
        char result = '\0';
        // 定义一个数组 用来存储各个字母出现次数
        int array[256];
        // 对数组进行初始化操作
        for (int i=0; i<256; i++) {
            array[i] =0;
        }
        // 定义一个指针 指向当前字符串头部
        char* p = cha;
        // 遍历每个字符
        while (*p != '\0') {
            // 在字母对应存储位置 进行出现次数+1操作
            array[*(p++)]++;
        }
        
        // 将P指针重新指向字符串头部
        p = cha;
        // 遍历每个字母的出现次数
        while (*p != '\0') {
            // 遇到第一个出现次数为1的字符,打印结果
            if (array[*p] == 1)
            {
                result = *p;
                break;
            }
            // 反之继续向后遍历
            p++;
        }
        
        return result;
    }
    

    相关文章

      网友评论

          本文标题:10-4 Hash算法

          本文链接:https://www.haomeiwen.com/subject/objewqtx.html