首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式与Linux那些事

    你知道uthash吗?

    1. uthash简介 2. uthash的使用 2.1 定义结构体 2.2 添加 2.3 查找 2.4 替换 2.5 删除 2.6 循环删除 2.7 删除哈希表所有元素 2.8 计算哈希表元素个数 常用宏参考 4.1 类型宏 4.2 通用宏 4.4 参数说明 1. uthash简介   由于C语言本身不存在哈希,但是当需要使用哈希表的时候自己构建哈希会异常复杂。 因此,我们可以调用开源的第三方头文件,这只是一个头文件:uthash.h。我们需要做的就是将头文件复制到项目中,然后:#include "uthash.h"。 由于uthash仅是头文件,因此没有可链接的库代码。   使用uthash添加,查找和删除通常是常数时间的操作,此哈希的目标是简约高效,大约有1000行代码。    github下载链接:https://github.com/troydhanson/uthash 2. uthash的使用 2.1 定义结构体   这里我们将id作为一个索引值,也就是键值,将name

    1.5K30发布于 2021-04-20
  • 来自专栏嵌入式与Linux那些事

    C语言哈希表uthash的使用方法详解(附下载链接)

    1. uthash简介   由于C语言本身不存在哈希,但是当需要使用哈希表的时候自己构建哈希会异常复杂。因此,我们可以调用开源的第三方头文件,这只是一个头文件:uthash.h。 我们需要做的就是将头文件复制到您的项目中,然后:#include “uthash.h”。由于uthash仅是头文件,因此没有可链接的库代码。    使用uthash添加,查找和删除通常是常数时间的操作,此哈希的目标是简约高效。它大约有1000行C。它会自动内联,因为它是作为宏实现的。    github下载链接:https://github.com/troydhanson/uthash 2. uthash的使用 2.1 定义结构体   这里我们将id作为一个索引值,也就是键值,将name作为 何时释放结构的选择完全取决于自己;uthash永远不会释放您的结构 2.6 循环删除   HASH_ITER是一个宏定义,程序执行时被替换为一个循环。

    7.1K20发布于 2021-05-20
  • 来自专栏simdsoft

    跨平台游戏引擎 Axmol-2.1.0 发布

    功能增强使用 std::unordered_map 替代了 uthash所有平台 cmake 版本要求提升至 3.28.1+增强 install-pwsh 脚本和 axmol 命令行构建脚本修复了 AGP8

    64510编辑于 2024-01-22
  • 来自专栏HelloGitHub

    《HelloGitHub》第 73 期

    ROM、16 kB RAM 不依赖特定的硬件平台,可在多种显示屏上运行 支持多语种:中文、韩文、阿拉伯文等 丰富详细的示例 ‍ ‍ 地址:https://github.com/lvgl/lvgl 2、uthash 使用方法简单,仅需引入一个头文件 #include "uthash.h" struct my_struct { int id; /* we'll use this field add_user(struct my_struct *s) { HASH_ADD_INT( users, id, s ); } 地址:https://github.com/troydhanson/uthash

    1.1K30编辑于 2022-05-22
  • 来自专栏C++/Linux

    【Leetcode -217.存在重复元素 -Leetcode-219.存在重复元素Ⅱ】

    的值和它的下标val,若满足,返回true;循环结束证明这个数组不满足条件,返回false; 下面看代码和注释,由于是初次接触哈希表,所以代码是参考官方解题的: //UT_hash_handle是头文件"uthash.h

    33810编辑于 2024-03-01
  • 来自专栏小徐学爬虫

    基于C语言实现网络爬虫程序设计

    扩展建议URL去重添加哈希表(如 uthash 库)记录已访问的URL,避免重复抓取。多线程使用 pthread 实现多线程并发抓取,提升效率。

    42310编辑于 2025-05-13
  • C/C++ 学习笔记

    在MingW下,可用decltype代替,这个问题在使用uthash的类库时发现的,在预定义宏里,有TYPEOF的定义,使用过的同学可以看看 : )   (以下代码在VS2010编译通过)#if defined

    13100编辑于 2025-09-09
  • 来自专栏Felix的技术分享

    《自制搜索引擎》笔记

    uthash:处理关联数组。 buffer:在util.h中定义的支持动态扩容的缓冲区。

    3K30发布于 2018-07-02
  • 来自专栏C / C++

    【C语言16天强化训练】从基础入门到进阶:Day 14

    创建哈希表(这里使用简单数组模拟哈希表可能不适用,因为数字范围很大,但题目要求空间复杂度O(n),所以用哈希表结构) // 由于C没有内置哈希表,我们使用一个结构体数组来模拟,但更高效的方式是使用uthash

    15810编辑于 2025-11-13
  • 来自专栏嵌入式与Linux那些事

    LeetCode字符串高频题目整理(持续更新中)

    4、输出排序后后K数据 方法二:使用uthash数据结构 代码 #define Hash_SIZE 20001 #define OFFSET 10000//对下标为负数进行偏移使数组下标>=0 typedef for(i=0;i<k;i++) nums[i]=hash[j-i-1].val; *returnSize=k; return nums; } #include <uthash.h

    1.7K10发布于 2021-05-20
  • 来自专栏嵌入式与Linux那些事

    LeetCode数组高频题目整理

    , k = 1 输出: true 示例 3: 输入: nums = [1,2,3,1,2,3], k = 2 输出: false 解题思路   方法一:结构体数组排序再遍历   方法二:C有uthash.h

    2.1K20发布于 2021-05-20
领券