document.addEventListener( "DOMContentLoaded", init, false );
function init()
{
var select = document.getElementById('investortype');
select.addEventListener( "change", function() {
var option = select.options[select.selectedIndex];
document.getElementById('show_exploremax').innerText = option.dataset.max;
}, false);
select.selectedIndex = -1;
};
我接受了here的帮助。我在hashset中插入了值,但是我无法打印这些值。
答案 0 :(得分:1)
它是一个标准的哈希表结构。大小,加上一系列链表。所以你需要迭代数组,然后遍历列表(大多数列表都是短的,有些将是空的)。数据没有特别的顺序。
void getdata(hashset *hash)
{
int i;
hashnode *ptr;
for(i=0;i<hash->size;i++)
{
if(hash->chains[i])
{
for(ptr = hash->chains[i]; ptr; ptr = ptr->link)
{
printf("key : %s\n", ptr->word);
}
}
}
}
答案 1 :(得分:0)
从查看它header file开始,API不包含这种操作。您所能做的就是检查字符串是否在集合中,不支持迭代所有添加的字符串。
你可以这样做:
hashset *newset = new_hashset(); /* You need this! */
char * const info = "1234";
put_hashset(newset, info);
printf("%s\n", has_hashset(newset, "1234") ? "yes" : "no");
它应该打印yes
。
当然你可以添加对迭代的支持,但这有点超出了这个问题的范围。这并不难,但你需要了解hashset的设计。