gpt4 book ai didi

c++ - 中断 if 语句 c++ 错误

转载 作者:行者123 更新时间:2023-11-30 00:45:56 34 4
gpt4 key购买 nike

<分区>

我正在编写线性和二次探测哈希表程序。

这是我用于线性探测功能的 for 循环,它工作得非常好。

//when there's a collision increase i by 1 until finding empty slot
for(i = (hashVal % tableSize+1) % tableSize; i <tableSize; i++)
if(a[i] == -1){
a[i] = hashVal;
break;
}

所以我在二次探测函数中又写了一个for循环来处理碰撞

//when there's a collision increase i by i^2
j = 0;

for(i=((hashVal % tableSize+1) % tableSize); i < tableSize; i++)
j = i^2;
if(a[j] == -1){
a[j] = hashVal;
break;
}

但是当我编译二次探测时,我遇到了这个错误

error: 'break' statement not in loop or switch statement

我真的很困惑为什么它会在第二个中导致错误,而在线性探测中却很好。谁能解释为什么?

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com