当前位置: 首页 > web >正文

编程日志5.17

哈希表的C语言结构

后面习题用的C语言

#include<stdio.h>
//哈希表定义
#define maxHashSize 100000//表示哈希表的数组长度,要开的足够大,否则会导致算法死循环
#define eleType int//表示哈希表中键的类型,一般是整数类型
#define empty -191028223//empty代表哈希表中元素为空时的值,这个值必须是一个非常随机,且不会在给定数据范围内的数
int hashArray[maxHashSize];//定义一个整数类型的哈希表hashArray,其实就是一个maxHashSize个整数的数组

//实现一个哈希函数hashFunc,直接采用取模,如果取模出来的结果是负数,那么再加上哈希表的长度即可,这样返回的x就是一个能够映射到哈希数组中的下标了
int hashFunc(eleType val) {
    int x = val % maxHashSize;
    if (x < 0) x += maxHashSize;
    return x;
}

//哈希表的创建
//只需遍历哈希数组,并且把所有元素都设置为空即可。
void hashInit() {
    for (int i = 0; i < maxHashSize; ++i) {
        hashArray[i] = empty;
    }
}

http://www.xdnf.cn/news/8214.html

相关文章:

  • AttributeError: module ‘cv2.dnn‘ has no attribute ‘DictValue‘错误解决方法
  • Redis 的速度为什么这么快
  • Windows命令实用工具——tcping 命令工具安装及基础使用
  • 帕鲁杯证书在线生成-仅供娱乐
  • 车载网关设计原则 ---- 透明性与诊断可追溯性
  • 第十八章 I2C通信测试
  • 解决vscode在任务栏显示白色图标
  • 【2025-05-22】XXL-JOB 的 8810 端口添加到 CentOS 6.5 的防火墙白名单
  • 【风控】模型算法区分度指标KS
  • 产品经理面经(三)
  • 自学嵌入式 day22 -数据结构 栈 队列
  • sql存储过程
  • 嵌入式自学第二十六天(5.22)
  • 【Pandas】pandas DataFrame sem
  • 代码随想录算法训练营第60期第四十四天打卡
  • 在 Windows 的 Visual Studio 2017 中编译 ncnn Debug 版本
  • Eigen矩阵存储顺序以及转换
  • Ajax01-基础
  • AndroidStudio 2024.2.2发布apk时候备份mapping文件kts版本
  • Flannel后端为UDP模式下,分析数据包的发送方式——tun设备(三)
  • LeetCode 257. 二叉树所有路径的迭代解法:栈的妙用与类型设计深度解析
  • 即插即用性能提升技巧:YOLOv8集成OREPA卷积的5个关键步骤(附精度/速度对比)
  • 【软考向】Chapter 9 数据库技术基础
  • 【AI问答】Java类中,一些变量设置了@NotNull,怎么在调用内部方法时校验变量是否为空
  • nltk-英文句子分词+词干化
  • 【Node.js】工具链与工程化
  • 04-Web后端基础(基础知识)
  • (中级)中级前端开发者指南:深入理解并实践JavaScript
  • c/c++的opencv腐蚀
  • JDK7Hashmap的头插法造成的环问题