当前位置: 首页>>代码示例>>C++>>正文


C++ Ptr::CalculateSize方法代码示例

本文整理汇总了C++中Ptr::CalculateSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::CalculateSize方法的具体用法?C++ Ptr::CalculateSize怎么用?C++ Ptr::CalculateSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Ptr的用法示例。


在下文中一共展示了Ptr::CalculateSize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Invert

  void Invert(int a, int b) {
    int size = (b - a + 1) >> 1;
    Ptr B = Get(a);
    Ptr A = B->left_child;
    B->left_child = nullptr;
    B->CalculateSize();

    Ptr C = Get(size << 1);
    Ptr D = C->right_child;
    C->right_child = nullptr;
    C->CalculateSize();

    B = Get(size);
    Ptr E = B->right_child;
    E->parent = nullptr;
    B->right_child = D;
    if (D) D->parent = B;
    B->CalculateSize();

    C->right_child = B;
    B->parent = C;
    C->CalculateSize();

    C = Min(E);
    C->left_child = A;
    if (A) A->parent = C;
    C->CalculateSize();
  }
开发者ID:ComiteMexicanoDeInformatica,项目名称:OMI-2015,代码行数:28,代码来源:ethan_100.cpp

示例2: BuildFromSortedVector

  Ptr BuildFromSortedVector(
    const std::vector<int>& v,
    int s, int e, Ptr parent) {
    if(e - s <= 0) return nullptr;

    int m = (s + e) >> 1;
    Ptr u = new Node(v[m]); u->parent = parent;
    u->left_child = BuildFromSortedVector(v, s, m, u);
    u->right_child = BuildFromSortedVector(v, m + 1, e, u);
    u->CalculateSize(); return u;
  }
开发者ID:ComiteMexicanoDeInformatica,项目名称:OMI-2015,代码行数:11,代码来源:ethan_100.cpp


注:本文中的Ptr::CalculateSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。