所以,我想要計算我的散列表中存在的字符串的數量。出於某種原因,這個函數總是返回0.我嘗試了用幾乎不同的方式重寫它幾次,以找到邏輯中的錯誤,但據我所知,這個函數應該輸出的條目數桌子。我真的很感謝一些幫助,因爲這變得非常令人沮喪!謝謝!計算散列表中字符串的數量
/* htbl_n_entries : htbl* -> unsigned int */
/* return the number of entries in all buckets */
unsigned int htbl_n_entries(htbl *t){
int i;
int nbucks = t->n_buckets;
sll**bucks= t->buckets;
unsigned int sum = 0;
for (i = 0; i < nbucks; ++i)
{
while(bucks[i] != NULL){
sum++;
bucks[i] = bucks[i]->next;
}
}
return sum;
}
你確認'nbucks'> 0嗎? – ApproachingDarknessFish 2013-03-01 20:31:35
不在這個函數函數中(雖然也許我應該),但是在函數被調用的情況下,有10個存儲桶。 – 2013-03-01 20:33:35
我會確保你通過't'傳遞的對象首先正常工作。也許增加一些簡單的'cout'只是爲了看看它的屬性是什麼。然後擔心你的功能。 – ApproachingDarknessFish 2013-03-01 20:36:35