数据结构-如何在javascript中实现哈希表(包括关联列表)
data structure - how to implement hash tables (including association lists) in javascript?
我正在做一个哈希表/数据结构练习,但不太理解。每个数据都必须是列表"list"的一个实例,使用哈希函数,我需要将键/值对添加到正确的列表中,并根据它们的键返回项。到目前为止,我所做的一切都不起作用,如果能给我任何帮助或解释我所做一切都不奏效,我将不胜感激!非常感谢。
function List () {
this.head=null;
}
function ListN (key, value, next) {
this.key = key;
this.value = value;
this.next = next;
}
List.prototype.set = function (key, value) {
var newNode=new ListN(key, value, this.head);
this.head=newNode;
};
List.prototype.get = function (key) {
var node = this.head;
while (node) {
if (node.key === key) {
return node.value;
}
node = node.next;
}
};
smallList = new List();
function HashT () {
this.data = Array(30);
}
HashT.prototype.set = function (key, value) {
var index=hash(key);
if (!this.data[index]) {
this.data[index]=new List();
}
this.data[index].set({key:key, value:value});
};
HashT.prototype.get = function (key) {
var index=hash(key);
return this.data[index];
};
问题很简单,您的错误就在这里:
this.data[index].set({key:key, value:value});
需要更改为
this.data[index].set(key, value);
在您的HashT.prototype.get
中,return
语句需要是:
return this.data[index].get(key);
相关文章:
- 如何在JavaScript中实现哈希表
- 用JavaScript中的循环传递哈希表/字典
- 将 Javascript 哈希表用于多个 If Thens
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 使用 JavaScript 中的对象的哈希表功能
- 用于 C# 的类似 V8 的哈希表
- 如何在 JavaScript 中动态创建哈希表
- 如何使用 Node.JS 在哈希表中为每个键存储多个值
- 如何在 JavaScript 中实现哈希表
- 在引擎盖下,是Javascript对象哈希表
- 如何在java脚本中打印此哈希表数据
- 如何将 Python 字典转换为 JavaScript 哈希表
- 你如何观察 Knockout 中的 JavaScript 哈希表
- 已解决查询(关于哈希表)中的解决方案给了我 NaN
- 哈希表-给定密钥的哈希计算频率
- 与哈希表相比,通过循环访问数组中对象的Javascript优化
- 数组哈希表上的循环
- 访问哈希表中的元素
- 带有键/值的Javascript测试哈希表
- 数据结构-如何在javascript中实现哈希表(包括关联列表)