假设数组hashTable的长度是mSize,用哈希算法的方式插入数字num,同时使用二次探测法(正向)来解决冲突。则每次的位置pos = (num + i * i) % mSize,i的范围是[0, mSize)。
bool flag = false; //未插入
for(int i = 0; i < mSize; i++){
int pos = (num + i * i) % mSize;
if(hashTable[pos] == 0){
hashTable[pos] = num;
flag = true; //已插入
break;
}
}
if(flag == false){
printf("%d can't be inserted.", num);
}