google B + Tree插入技术

时间:2018-07-03 19:53:23

标签: c++ data-structures

我尝试从Google B + Tree了解插入操作背后的想法。 我知道B +树的工作原理,我想了解C ++代码。

B+Tree

他们使用运算符new(),这对我来说是新的,但是我已经阅读了。 我自己的实现是这样的(伪):

struct leaf{
   Key_type val[k];
   size_t count;
}

void insert(Key){
    ...
    node = new node();
    node->val[i]=key;
    ...
}

他们使用1422行中的new()(722行)

void value_init(int i, const value_type &x) {
 new (&fields_.values[i]) mutable_value_type(x);
}

他们在哪里分配内存,在那里使用? 应该在代码中预先分配这样的东西吗?

  mutable_value_type *fields_= new mutable_value_type[sizeof(mutable_value_type)*32];

0 个答案:

没有答案