次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。
関数 add は 引数で指定された正の整数 value を大域の整数型の配列 hashArray に格納する。格納できた場合は true を返し、格納できなかった場合は false を返す。ここで、整数 value を hashArray のどの要素に格納すべきかを、関数calcHash1 及び calcHash2 を利用して決める。
手続 test は、関数 add を呼び出して, hashArray に正の整数を格納する。手続 test の処理が終了した直後のhashArray の内容は、 である。
[プログラム]
大域: 整数型の配列: 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)