B ツリーのリーフ ノード (配列) にデータを挿入しようとしています。これが私がこれまでに持っているコードです:
void LeafNode::insertCorrectPosLeaf(int num)
{
for (int pos=count; pos>=0; pos--) // goes through values in leaf node
{
if (num < values[pos-1]) // if inserting num < previous value in leaf node
{continue;} // conitnue searching for correct place
else // if inserting num >= previous value in leaf node
{
values[pos] = num; // inserts in position
break;
}
}
count++;
} // insertCorrectPos()
values[pos] = num の行の前に、既存のデータを上書きするのではなく、シフトするコードを書く必要があると思います。memmove を使用しようとしていますが、それについて質問があります。3 番目のパラメーターは、コピーするバイト数です。64 ビット マシンで 1 つの int を移動する場合、ここに "4" を入れるということですか? 私がこれについて完全に間違っている場合は、どんな助けでも大歓迎です。ありがとう