我有一个包含多种方法的类Section,包括方法get_key()和get_angle()。类型Section的项目被添加到类Hashtable中实现的哈希表中。 根据我的任务,我应该从散列表中删除这些元素,这些元素的函数get_angle()值大于given_value。
class Hashtable{
private Section[] hash_array; //array of cells of the hashtable
public int size;
public void remove_given(double given_value)
{
for(int i = 0; i < size; i++)
{
if (hash_array[i] != null)
{
double value = hash_array[i].get_angle(); //value of needed function to compare
if (value > given_value)
{
int key_ = hash_array[i].get_key(); //get key for the item in order to delete it
Delete(key_); //delete item
}
}
}
}
}
但该方法不会删除任何元素。我分别检查了方法Delete(),它和这个方法调用的其他方法一样好用。我真的需要弄清楚。所以我将非常感谢你的帮助。
答案 0 :(得分:0)
调试代码,进入for循环。如何初始化<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
</head>
<body>
<span id="text1"><i class="fa fa-user fa-2x"></i> - Personal Profile Update</span>
</body>
</html>
变量的值?如果您忘记默认初始化它将为零。最好从 WebBrowser1.Navigate('http://localhost/');
获得大小。
答案 1 :(得分:0)
首先,您使用的是未初始化的全局变量size
,for
循环中使用的大小需要与哈希集合的大小相同。哈希如何初始化?它包含你的想法吗?我会按照上面提到的建议来使用调试器逐步执行代码,也许密钥不是你认为的那样......