【发布时间】:2021-04-07 07:41:04
【问题描述】:
我正在搜索how to implement an ordered hash table,但没有找到任何东西。
我想创建一个哈希表,您可以对其进行迭代,并根据您定义或插入键的顺序为您提供元素。通常,您如何以高效的方式执行此操作?这是如何实施的?如果必须选择一种语言作为示例,我正在考虑在 JavaScript 中执行此操作。例如,我知道 JavaScript 对象(“哈希映射”)是有序哈希映射,但我不知道它们是如何实现的。我想学习如何从头开始为自定义编程语言实现相同的东西。
例如,假设您要列出语言名称的本地脚本版本,例如“希伯来语”的“עִברִית”,作为键,并且您想创建本地语言到英语的映射,但是您希望它们保持定义的顺序。你是如何实现的?
【问题讨论】:
-
既然你正在考虑用 Javascript 来做这件事,想到的一件事可能是分配一个列表和一个空对象。添加项目时,将键添加到列表中,并将值添加到对象/字典中,其中 dict[key] = value。然后,我们可以通过遍历键列表并从对象/字典中获取值来按顺序遍历哈希表。
-
我要实现一个有序的对象/字典,你是用内置的字典来实现的,这是作弊哈哈
标签: data-structures linked-list hashmap hashtable