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


C++ NodePtr::Right方法代码示例

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


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

示例1: Add

  NodePtr Add(T elem)
  {
    auto pos = TreeSearch(elem, root, root);
    if(repeat)
      while(get<2>(pos))
	pos = TreeSearch(elem, get<0>(pos)->Right(false), get<0>(pos));
    else if(get<2>(pos))
      return get<0>(pos);
    NodePtr node = get<0>(pos);
    NodePtr nodePar = get<1>(pos);
    if(root == nullptr)
    {
      root.reset(new Node<T>(elem));
      return node;
    }
    else
    {	
	if(comp(elem, nodePar->elem))
	{
	  nodePar->Left(false).reset(new Node<T>(elem));
	  node = nodePar->Left();
	}
	else
	{
	  nodePar->Right(false).reset(new Node<T>(elem));
	  node = nodePar->Right();
	}
    }      
    return node;
  }
开发者ID:mafiya69,项目名称:ds,代码行数:30,代码来源:binaryTreeSorted.cpp

示例2: make_tuple

 tuple<NodePtr, NodePtr, bool>
 TreeSearch(T elem, NodePtr node, NodePtr nodePar) const
 {
   if(node == nullptr)
     return make_tuple(node, nodePar, false);
   else if(elem == node->elem)
     return make_tuple(node, nodePar, true);
   else if(comp(elem, node->elem))
     return TreeSearch(elem, node->Left(false), node);
   else
     return TreeSearch(elem, node->Right(false), node);
 }    
开发者ID:mafiya69,项目名称:ds,代码行数:12,代码来源:binaryTreeSorted.cpp

示例3: postorder

 void postorder(NodePtr node, int x = 0)
 {
   if(node != nullptr)
   {
     postorder(node->Left(false), x + 1);
     postorder(node->Right(false), x + 1);
   }
   for(int i = 0; i < x; ++i)
     cout<<"|  ";
   cout<<"|--"<<node<<endl;
   return;
 }
开发者ID:mafiya69,项目名称:ds,代码行数:12,代码来源:binaryTreeSorted.cpp

示例4: inorderReverse

 void inorderReverse(NodePtr node, int x = 0)
 {
   if(node != nullptr)
   {
     inorderReverse(node->Right(false), x + 1);
   }
   for(int i = 0; i < x; ++i)
     cout<<"|  ";
   cout<<"|--"<<node<<endl;
   if(node != nullptr)
   {
     inorderReverse(node->Left(false), x + 1);
   }
   return;
 }
开发者ID:mafiya69,项目名称:ds,代码行数:15,代码来源:binaryTreeSorted.cpp


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