Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.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_Dictionary_Linked List - Fatal编程技术网

C语言词典

C语言词典,c,dictionary,linked-list,C,Dictionary,Linked List,我正在尝试用C语言实现一个非常简单的字典。我正在考虑使用链表。我在网上看到了这个实现: (我试图在这里发布代码,但它不允许我) 这似乎有点像我的想法,除了我的值必须是一个整数。另外,在我自己的“get”函数中,我没有在返回值后使列表指向尾部,我做错了吗 我的问题是:它被认为是字典的好实现代码吗? 我自己的代码有点不同,因为我希望能够打印字典(很难想出应该如何打印键值对!) 我还希望能够用keys数组和values数组制作一个字典 我被困在这些天了,任何形式的帮助都将不胜感激 我正在尝试用C语言实

我正在尝试用C语言实现一个非常简单的字典。我正在考虑使用链表。我在网上看到了这个实现: (我试图在这里发布代码,但它不允许我)

这似乎有点像我的想法,除了我的值必须是一个整数。另外,在我自己的“get”函数中,我没有在返回值后使列表指向尾部,我做错了吗

我的问题是:它被认为是字典的好实现代码吗? 我自己的代码有点不同,因为我希望能够打印字典(很难想出应该如何打印键值对!) 我还希望能够用keys数组和values数组制作一个字典

我被困在这些天了,任何形式的帮助都将不胜感激

我正在尝试用C语言实现一个非常简单的字典。我正在考虑使用链表。[…]它被认为是字典的好实现代码吗

,绝对不是。字典式结构的主要目的是提供非常快速的值插入、删除和查找(给定一个键),这通常需要恒定的时间复杂度(
O(1)
)。链表具有线性插入和查找时间复杂性,这意味着要访问知道其键的值,需要进行
O(n)
操作,其中
n
是列表中已经存在的值的数量。这将基本上具有与简单未排序数组相同的性能,从而使结构的实用性无效。实现这种结构的事实上的标准方法是使用,这允许在给定合理良好的散列函数和冲突解决策略的情况下,以恒定的时间访问数据


另请参见:.

一个好的实现代码
-您没有显示任何代码。你的问题到底是什么?你到底有什么问题?请阅读或阅读。也许你的问题更适合我。Stackoverflow不是一个讨论某人编写的某些代码的“论坛”——它是一个讨论特定编程问题以及如何解决这些问题的论坛。我的问题是:假设字典与我链接的代码类似,如何打印字典?如果给我两个数组,我怎么能制作这样的字典呢(keys数组和values数组的大小相同,或者我还不允许使用哈希表..我可以发布我自己的代码,但它与我发现的代码非常相似,而且这个论坛的系统出于某种原因不允许我发布我自己的代码!你可以在你的任务文本中包含完全可运行的最小示例或代码片段虽然不是代码审查网站。“不允许使用哈希表”,如果您有特殊要求,请务必在问题中包括,尽管我说如果没有包括在特定课程中,您自己绝对值得学习哈希表之类的额外内容。实际上,我还没有学习哈希表。我已经学习了链表、堆栈、数组、bin树。您能帮我打印和vre吗是否从数组函数开始执行?@静态堆栈溢出不是一个支持网站,很抱歉,我无法帮助您。如果遇到特定问题,您应该尝试自己实现这些函数,并在这里问另一个问题。@静态哈希表上有大量资源。根据需要,其他可能的选项是排序ed数组(二进制搜索查找)或者各种树结构。如果你想实现这些东西,并且有一些代码,但是代码中有一些问题,那么这可能是进一步的问题。我试图在这里发布我自己的代码,并向你展示我的实际问题,但出于某种原因,它不允许我发布。不知何故,你成功地为一个离题问题编写了一个信息丰富的答案。+1!