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

C语言实现对哈希表的操作:插入新键值对与删除哈希表中键值对

一. 简介

前面文章简单学习了C语言创建哈希表,扩容哈希表,向哈希表中插入新的键值对等操作,文章如下:

C语言实现对哈希表的操作:创建哈希表与扩容哈希表-CSDN博客

本文继续学习对哈希表的其他操作:查找键值对,删除键值对,销毁哈希表等等操作。

二. C语言实现对哈希表的操作:插入新键值对与删除哈希表中键值对

1. 在哈希表中查找键值对

在哈希表中查找键值对的代码实现如下:

//查找键值对
int hash_table_find(hash_table* ht, char* key) {int index = hash_func(key) % ht->capacity;hash_node* node = ht->buckets[index];while(node != NULL) {if(!strcmp(node->key, key)) {return node->value;}node = node->next;}return -1;
}

可以看出,首先通过待寻找的键key,计算所在哈希表中的哪个桶中。

然后遍历(在对应桶的)链表即可。

2. 删除哈希表中的某个键值对

3. 销毁哈希表

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

相关文章:

  • 哪些岗位最易被AI替代?
  • Docker设置代理
  • ros2工程在普通用户下正常编译但root下编译无法成功也不会自动停止
  • RAG混合检索:倒数秩融合RRF算法
  • 零硬件成本玩转嵌入式通信!嵌入式仿真实验教学平台解锁STM8S串口黑科技
  • 对COM组件的调用返回错误 HRESULT E_FAIL
  • Linux操作系统之进程(四):命令行参数与环境变量
  • 统计C盘各种扩展名文件大小总和及数量的PowerShell脚本
  • << C程序设计语言第2版 >> 练习 1-23 删除C语言程序中所有的注释语句
  • Python基于Django的校园打印预约系统(附源码,文档说明)
  • 天拓四方工业互联网平台赋能:地铁电力配电室综合监控与无人巡检,实现效益与影响的双重显著提升
  • URL编码次数差异分析:一次编码 vs 二次编码
  • 【动手学深度学习】2.4. 微积分
  • Python中openpyxl库的基础解析与代码实例
  • NIO----JAVA
  • API:解锁网络世界的无限可能
  • Leetcode 340. 至多包含 K 个不同字符的最长子串
  • Java并发
  • [特殊字符] 超强 Web React版 PDF 阅读器!支持分页、缩放、旋转、全屏、懒加载、缩略图!
  • Elasticsearch的写入流程介绍
  • vscode实时预览编辑markdown
  • 树莓派安装openwrt搭建软路由(ImmortalWrt固件方案)
  • <3>, 常用控件
  • wheelgames
  • C++17新特性 类型推导
  • 虚拟化数据恢复—XenServer虚拟机虚拟磁盘文件丢失的数据恢复案例
  • 集成测试 maestro-我的第一个flow以及第一次云端测试
  • React和原生事件的区别
  • π0-FAST-针对VLA模型的高效动作token化技术-2025.1.16-开源
  • 使用 Fetch + Streams 处理流式响应(Streaming Response)