我正在尝试将数据插入到 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,但对此有疑问。它的第三个参数是要复制的字节数。如果我在 64 位机器上移动单个 int,这是否意味着我会在这里放一个“4”?如果我完全错误地解决这个问题,任何帮助将不胜感激。谢谢