Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C地图数据结构_C_Hashmap - Fatal编程技术网

C地图数据结构

C地图数据结构,c,hashmap,C,Hashmap,我想用C实现一个键值对数据结构。有什么想法吗 是一个简单的哈希表 在ANSIC中实现。它支持 基本功能 需要一个哈希表: 插入和检索键值关联 对密钥存在性的质疑 返回键值关联的总数 枚举所有键值关联 希望这有帮助 中的hashmap实现也支持典型的map函数 我不久前发现了它,尽管我还没用过。您还可以检查库项目 我希望它可能对某些人有用。如果您的键和值部分是相同的数据类型,那么您可以使用2列的二维数组,其中第一列是键,第二列是数据。 它将表现为映射,但时间复杂度将有所不同。 时间复杂性: 搜

我想用C实现一个键值对数据结构。有什么想法吗

是一个简单的哈希表 在ANSIC中实现。它支持 基本功能 需要一个哈希表:

  • 插入和检索键值关联
  • 对密钥存在性的质疑
  • 返回键值关联的总数
  • 枚举所有键值关联

希望这有帮助

中的hashmap实现也支持典型的map函数

我不久前发现了它,尽管我还没用过。您还可以检查库项目


我希望它可能对某些人有用。

如果您的键和值部分是相同的数据类型,那么您可以使用2列的二维数组,其中第一列是键,第二列是数据。 它将表现为映射,但时间复杂度将有所不同。 时间复杂性: 搜索-O(n) 插入- 要维护唯一密钥,则O(n) 其他的 O(1)

如果希望键值对具有不同的类型,则可以使用列表结构

struct node
{
int key;  //key part
string value;  // value part
struct node *next;
};
时间复杂性: 搜索-O(n) 插入- 要维护唯一密钥,则O(n) 其他的
O(1)。

您映射到什么?你需要什么函数?int-to-int映射。ex1->23->5实际上,有点迂腐,这不是ANSI C,因为它定义了名称以“str”开头的函数。你不能这样做,以“str”开头的全局函数名的整个空间都是保留的。我不喜欢它,因为它没有指定函数的源代码,而且它似乎没有扩展或收缩。它只有固定数量的项。请投票选择timecomplexity提示。
struct node
{
int key;  //key part
string value;  // value part
struct node *next;
};