我试图将数据插入B树的叶节点(数组)。这里是我到目前为止的代码:C++将数据插入(并将其移入)数组
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()
行前值[POS] = NUM,我认为需要编写一些代码,而不是转移覆盖它的现有数据。我试图使用memmove,但有一个问题。其第三个参数是要复制的字节数。如果我在64位机器上移动一个int,这是否意味着我会在这里放置一个“4”?如果我对这个完全错误的任何帮助将不胜感激。谢谢
如果数据是[std :: vector <>](http://en.cppreference.com/w/cpp/container/vector),[std :: deque <>](http: //en.cppreference.com/w/cpp/container/deque)或[std :: list <>](http://en.cppreference.com/w/cpp/container/list),只需使用迭代器找到正确的插槽,然后使用[insert()](http://en.cppreference.com/w/cpp/container/vector/insert)。复印等,都将为您照顾。 – WhozCraig 2013-04-28 04:08:54
数据位于数组中。 – sbru 2013-04-28 04:10:55