次の記述中の □ に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。
関数addは,引数で指定された正の整数valueを大域の整数型の配列hashArrayに格納する。格納できた場合はtrueを返し,格納できなかった場合はfalseを返す。calcHash1とcalcHash2でハッシュ位置を決める。手続testの処理が終了した直後のhashArrayの内容は,□ である。
〔プログラム〕
○論理型: add(整数型: value)
整数型: i ← calcHash1(value)
if (hashArray[i] = -1) : hashArray[i] ← value : return true
else
i ← calcHash2(value)
if (hashArray[i] = -1) : hashArray[i] ← value : return true
endif
endif
return false
○整数型: calcHash1(整数型: value)
return (value mod hashArrayの要素数) + 1
○整数型: calcHash2(整数型: value)
return ((value + 3) mod hashArrayの要素数) + 1
○test()
hashArray ← {5個の -1}
add(3) : add(18) : add(11)
1〜4キーで選択