这篇教程C++ CreateTree函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CreateTree函数的典型用法代码示例。如果您正苦于以下问题:C++ CreateTree函数的具体用法?C++ CreateTree怎么用?C++ CreateTree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CreateTree函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: CreateTreevoid CreateTree( int lo, int hi, int root, bool left ) { int pivotIndex, tmpIndex;//printf( "l:%d h:%d/n", lo, hi); if ( lo >= hi ) return ; for ( int i = lo; i < hi; ++i ) { if ( inOrder[i] == postOrder[pivotCnt] ) { pivotIndex = i; --pivotCnt; break; } } tmpIndex = ++fuck; tree[tmpIndex].val = inOrder[pivotIndex]; tree[tmpIndex].parentIndex = root; if ( left ) tree[root].lChildIndex = tmpIndex; else tree[root].rChildIndex = tmpIndex; CreateTree( pivotIndex + 1, hi, tmpIndex, true ); CreateTree( lo, pivotIndex, tmpIndex, false ); return ;}
开发者ID:psyclaudeZ,项目名称:Problems-of-Ural-and-UVa,代码行数:29,
示例2: CreateTree TreeNode * CreateTree(ListNode* node,int len) { if( len == 1) { TreeNode * t = new TreeNode(node->val); t->right = t->left = NULL; allNodes.push_back(t); return t; } else { ListNode * cur= node; int i = 1; do { node = node->next; }while(++i <= len/2); TreeNode * t = new TreeNode(node->val); t->left = CreateTree(cur,len/2); if(len-len/2-1== 0) t->right = NULL; else t->right = CreateTree(node->next,len-len/2-1); allNodes.push_back(t); return t; } }
开发者ID:qs8607a,项目名称:Algorithm-22,代码行数:29,
示例3: main void main() { int i; PTree T,p; TElemType e,e1; InitTree(T); printf("构造空树后,树空否? %d(1:是 0:否) 树根为%c 树的深度为%d/n",TreeEmpty(T),Root(T),TreeDepth(T)); CreateTree(T); printf("构造树T后,树空否? %d(1:是 0:否) 树根为%c 树的深度为%d/n",TreeEmpty(T),Root(T),TreeDepth(T)); printf("层序遍历树T:/n"); TraverseTree(T,vi); printf("请输入待修改的结点的值 新值: "); scanf("%c%*c%c%*c",&e,&e1); Assign(T,e,e1); printf("层序遍历修改后的树T:/n"); TraverseTree(T,vi); printf("%c的双亲是%c,长子是%c,下一个兄弟是%c/n",e1,Parent(T,e1),LeftChild(T,e1),RightSibling(T,e1)); printf("建立树p:/n"); InitTree(p); CreateTree(p); printf("层序遍历树p:/n"); TraverseTree(p,vi); printf("将树p插到树T中,请输入T中p的双亲结点 子树序号: "); scanf("%c%d%*c",&e,&i); InsertChild(T,e,i,p); Print(T); printf("删除树T中结点e的第i棵子树,请输入e i: "); scanf("%c%d",&e,&i); DeleteChild(T,e,i); Print(T); }
开发者ID:wuzongbin2008,项目名称:c_test,代码行数:31,
示例4: ifvoid Properties::ParseList(QTreeWidgetItem* node, const IterableT& seq) { typename IterableT::const_iterator it, itEnd = seq.end(); int i = 0; // skip 1 sized arrays if (seq.size() == 0) { // empty if (node) node->setData(1, Qt::DisplayRole, "<empty>"); } else if (seq.size() == 1) { CreateTree(node, seq.first()); if (node) node->setData(1, Qt::DisplayRole, GetSummary("[0]", seq.first())); } else { for (it = seq.begin(); it != itEnd; ++it) { QTreeWidgetItem* child = new QTreeWidgetItem(); QString key = QString("[%1]").arg(i++); child->setData(0, Qt::DisplayRole, key); child->setData(1, Qt::DisplayRole, GetSummary(key, *it)); CreateTree(child, *it); if (node) node->addChild(child); else ui->propertyView->addTopLevelItem(child); } }}
开发者ID:EtlamGit,项目名称:minutor,代码行数:27,
示例5: CreateTreevoid CreateTree(Node *p) { if (p->low_ < p->high_) { p->left_ = new Node(p->low_, (p->low_ + p->high_) / 2); CreateTree(p->left_); p->right_ = new Node((p->low_ + p->high_) / 2 + 1, p->high_); CreateTree(p->right_); }}
开发者ID:SamJia,项目名称:Oj,代码行数:8,
示例6: CreateTreeNode* CreateTree(It begin, It end) { if (end - begin == 0) { return nullptr; } Iterator middle = begin + (end - begin) / 2; // Should I be afraid of (from < to)? Node* root = new Node(*middle); root->left = CreateTree(begin, middle); root->right = CreateTree(middle + 1, end); return root;}
开发者ID:AnyaP,项目名称:Interview-preparation,代码行数:10,
示例7: CreateTreeSearchTree CreateTree(SearchTree T) { int temp; scanf("%d", &temp); if(temp == -1) T = NULL; else { T = (SearchTree)malloc(sizeof(TreeNode)); T->data = temp; T->left = CreateTree(T->left); T->right = CreateTree(T->right); } return T;}
开发者ID:SuperMardle,项目名称:DataStructure,代码行数:13,
示例8: CreateTree//先序拓展建立二叉树void CreateTree(BiTree &T){ T = (BiNode*) malloc (sizeof(BiNode)); printf("Enter the data /n"); scanf("%c ",&T->data); if(T->data == '#') T == NULL; if(T) { printf(""); CreateTree(T->lch); CreateTree(T->rch); }}
开发者ID:pathbox,项目名称:Study-Algorithm,代码行数:14,
示例9: CreateTreevoid MyGameTreeCtrl::RefreshTree(string* pstrPanelName){ m_mapNode.clear(); CreateTree(); m_bInsertData = true; EnsureVisible(GetRootItem());}
开发者ID:2Dou,项目名称:PlayBox,代码行数:7,
示例10: CreateTreeCreateTree(BTree &T) //必须声明为指针的指针(BTree *T)或者指针的引用 (BTree &T) 因为有 NULL指针; { char c; scanf("%c",&c); if(c ==' ') { T = NULL; } else { T = (BTree)malloc(sizeof(BNode)); (T)->data = c; CreateTree((T)->lchild); CreateTree((T)->rchild); } }
开发者ID:silinlin8,项目名称:data-structure,代码行数:16,
示例11: COptionTreevoid COptionTreeWrapper::Serialize(CHashString objName, vector<CHashString> objTypes, IArchive &ar, bool bRead){ if (m_mTrees[objName.GetUniqueID()].m_Tree == NULL) { m_mTrees[objName.GetUniqueID()].m_Tree = new COptionTree(); m_mTrees[objName.GetUniqueID()].m_Tree->Create(m_Style, m_Rect, m_pParentWnd, m_TreeOptions, m_ID); m_mTrees[objName.GetUniqueID()].m_Root = m_mTrees[objName.GetUniqueID()].m_Tree->InsertItem(new COptionTreeItem()); CString label; label = objName.GetString(); label += _T("("); label += objTypes[0].GetString(); label += _T(")"); m_mTrees[objName.GetUniqueID()].m_Root->SetLabelText(label); for (UINT i=0; i<objTypes.size(); i++) { CreateTree(objTypes[i].GetString(), objName); } m_vRootNames.push_back(objName); } if (bRead) { SerializeIn(ar, objName); } else { SerializeOut(ar, objName); } ExpandOneRoot(objName);}
开发者ID:klhurley,项目名称:ElementalEngine2,代码行数:29,
示例12: TEST_HUFMANvoid TEST_HUFMAN(){ freopen("input.txt", "r", stdin); int n; //需要编码的字符的个数 scanf("%d", &n); int i; int *wet = (int *)malloc(n * sizeof(int)); //存放每个字符的权值 for (i = 0; i<n; i++) { scanf("%d", wet + i); } HUffmanCode HC; //保存赫夫曼编码 HuffmanTree HT = CreateTree(wet, n); //生成赫夫曼树 HufmanCoding(HT, HC, n); //求每个字符的赫夫曼编码 printf("哈夫曼编码如下:/n"); for (i = 0; i<n; i++) { puts(HC[i]); } free(wet);}
开发者ID:Charlyhash,项目名称:DataStruct_C,代码行数:25,
示例13: TreeTeststatic void TreeTest (void){ DirEntry_s *root; root = CreateTree(4, 9, 0); PrintTree(root, 0); DeleteTree(root);}
开发者ID:taysom,项目名称:tau,代码行数:7,
示例14: CreateTreeBiTree CreateTree(){ BiTree T; char ch; scanf("%c",&ch); if(ch=='#') T=NULL; else { T=(BiTree)malloc(sizeof(BiTNode)); if(!T) exit(0); T->data=ch; T->lchild=CreateTree(); T->rchild=CreateTree(); } return T;}
开发者ID:mjyplusone,项目名称:CppPrimer,代码行数:16,
示例15: m_CurrentDeep /* * Collision Tree */ CollisionTree::CollisionTree(const sf::FloatRect & i_SubRect, const ubyte i_MaxObjects, const ubyte i_TreeDeep) :m_TreeDeep(i_TreeDeep), m_CurrentDeep(1), m_NodeBox(i_SubRect), m_NodeCapacity(i_MaxObjects), m_IsLeaf(true) { m_SubNodes[0] = m_SubNodes[1] = m_SubNodes[2] = m_SubNodes[3] = nullptr; // Create the tree CreateTree(); }
开发者ID:Edridan,项目名称:Black-Engine,代码行数:10,
示例16: LoadKeyTextListKeyTextList* LoadKeyTextList(gchar* filename){ KeyTextList* list; gchar* pathname = NULL; if( !g_keytext_dir || !filename ) return NULL; if( (pathname = CheckFileExists(g_keytext_dir, filename)) == NULL ) if( (pathname = CheckFileExists("keytext", filename)) == NULL ) return NULL; list = (KeyTextList*)g_malloc(sizeof(KeyTextList)); if( list != NULL ) { if( (list->tree = CreateTree()) != NULL ) { if( ReadXMLFile(pathname, list->tree) ) { return list; } FreeTree(list->tree); } g_free(list); } return NULL;}
开发者ID:spremi,项目名称:cnijfilter-source-3.80,代码行数:28,
示例17: LoadKeyTextListshort LoadKeyTextList( void ){ KeyTextList* list; char* pathname = NULL; short result = -1; if( !g_keytext_dir ) goto Err1; if( (pathname = CheckFileExists(g_keytext_dir, CNIJLGMON2_RESFILE)) == NULL ){ if( (pathname = CheckFileExists("keytext", CNIJLGMON2_RESFILE)) == NULL ) goto Err1; } if ( (list = (KeyTextList*)malloc(sizeof(KeyTextList))) == NULL ) goto Err1; if( (list->tree = CreateTree()) == NULL ) goto Err2; if( ReadXMLFile(pathname, list->tree) != 0 ) goto Err3; g_key_keytext_list = list; result = 0; return result;Err3: FreeStringList( list->tree );Err2: free( list );Err1: return result;}
开发者ID:dbnicholson,项目名称:cnijfilter-common,代码行数:29,
示例18: atoi//-----------------------------------------------------------------------------HTREEITEM CDlgLayerTree::CreateTree(CString sName, HTREEITEM hParent /*= TVI_ROOT*/){ HTREEITEM hReTI = m_tree.InsertItem(sName, hParent); CStringArray strChildNameArray,strNeedArray; if (CLayerTreeDef::GetChildrenAliasName(strChildNameArray, strNeedArray, sName)) { for (int i = strChildNameArray.GetSize() - 1; i >= 0; i--) { CString Right; CPowerConfig::GetRightByResource(strChildNameArray.GetAt(i), Right); int nRight = atoi(Right); if (!(nRight & POWER_SCAN))// 对比查看权限 { //strChildNameArray.RemoveAt(i);///////////////////////////////############################## } } for (int i = 0; i < strChildNameArray.GetSize(); i++) { HTREEITEM hTI = CreateTree(strChildNameArray.GetAt(i), hReTI); CString sTmp = strNeedArray.GetAt(i); if (!sTmp.IsEmpty() && sTmp.CollateNoCase("0") != 0 && hTI != NULL) { SetTreeCheck(hTI); m_SdeAliasNames.Add(strChildNameArray.GetAt(i)); } } } return hReTI;}
开发者ID:fredrikjonsson,项目名称:cadof72bian,代码行数:32,
示例19: InsertTree Insert(int x, Tree T){ if (T == NULL) T = CreateTree(x); else if (x < T->element) { T->left = Insert(x, T->left); if (Height(T->left) - Height(T->right) == 2) { if (x < T->left->element) T = SingleRotateLeft(T); else T = DoubleRotateLeft(T); } } else if (x > T->element) { T->right = Insert(x, T->right); if (Height(T->right) - Height(T->left) == 2) { if (x > T->right->element) T = SingleRotateRight(T); else T = DoubleRotateRight(T); } } T->height = (Height(T->left) > Height(T->right) ? Height(T->left) : Height(T->right)) + 1; return T;}
开发者ID:Yu-Yan,项目名称:C,代码行数:29,
示例20: mainint main(int argc, char const *argv[]){ //int err; struct Tree *T; char *ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; T = CreateTree(ch); printf("递归先序遍历/n"); PreOrderTraverse(T); printf("/n"); printf("递归中序遍历/n"); InOrderTraverse(T); printf("/n"); printf("递归后序遍历/n"); PostOrderTraverse(T); printf("/n"); printf("非递归先序遍历/n"); PreOrderTraverseStack(T); printf("/n"); printf("非递归中序遍历/n"); InOrderTraverseStack(T); printf("/n"); printf("非递归后序遍历/n"); PostOrderTraverseStack(T); printf("/n"); return 0;}
开发者ID:Cxd2014,项目名称:DataStruct,代码行数:32,
示例21: HuffmanTreeTestvoid HuffmanTreeTest() { int i,n=4,m; char test[]="DBDBDABDCDADBDADBDADACDBDBD"; char code[100],code1[100]; char alphabet[]={'A','B','C','D'}; int w[]={5,7,2,13} ; HuffmanTree *ht; HuffmanCode *hc; m=2*n-1; ht=(HuffmanTree *)malloc((m+1)*sizeof(HuffmanTree)); if(!ht) { printf("内存分配失败!/n"); exit(0); } hc=(HuffmanCode *)malloc(n*sizeof(char*)); if(!hc) { printf("内存分配失败!/n"); exit(0); } CreateTree(ht,n,w); HuffmanCoding(ht,n,hc); for(i=1;i<=n;i++) printf("字母:%c,权重:%d,编码为 %s/n",alphabet[i-1],ht[i].weight,hc[i-1]); Encode(hc,alphabet,test,code); printf("/n字符串:/n%s/n转换后为:/n%s/n",test,code); Decode(ht,n,code,alphabet,code1); printf("/n编码:/n%s/n转换后为:/n%s/n",code,code1);}
开发者ID:miracle1243,项目名称:algorithm,代码行数:33,
示例22: main//------------------------------------------------------------------------------int main(){ auto list = CreateList( std::vector<int>( {1,2,3,4,5} ) ); std::cout << PrintList( list ) << std::endl; std::cout << PrintBackList( list ) << std::endl; auto listA = CreateList( std::vector<int>( {1,2,3,} ) ); auto listB = CreateList( std::vector<int>( {4,5} ) ); auto ab = Append( listA, listB ); std::cout << PrintList( ab ) << std::endl; auto tree = CreateTree( std::vector<int>( {4,2,1,3,5} ) ); std::cout << PrintTree( tree ) << std::endl; auto treelist = TreeToList( tree ); std::cout << PrintList( treelist ) << std::endl; TestRandomTree(); return EXIT_SUCCESS;}
开发者ID:zhensydow,项目名称:ljcsandbox,代码行数:26,
示例23: mainint main(int argc, char **argv){ CSTree T; TElemType e; TElemType e1; InitTree(&T); printf("构造空树后,树空否? %d(1:是 0:否) 树根为%c 树的深度为%d/n",/ TreeEmpty(T), Root(T), TreeDepth(T)); CreateTree(&T); printf("构造空树后,树空否? %d(1:是 0:否) 树根为%c 树的深度为%d/n",/ TreeEmpty(T), Root(T), TreeDepth(T)); printf("先根遍历树T:/n"); PreOrderTraverse(T, vi); printf("/n请输入等修改的结点的值 新值:"); scanf("%c%*c%c%*c", &e, &e1); Assign(&T, e, e1); printf("后根遍历修改后的树T:/n"); PostOrderTraverse_recurssion1(T, vi); printf("/n"); printf("PostOrderTraverse_recurssion1 complete!/n"); PostOrderTraverse_recurssion2(T, vi); printf("/n"); printf("PostOrderTraverse_recurssion2 complete!/n"); printf("/n%c的双亲是%c, 长子是%c,下一个兄弟是%c/n", e1, Parent(T, e1),/ LeftChild(T, e1), RightSibling(T, e1)); printf("层序遍历树:/n"); LevelOrderTraverse(T, vi); DestroyTree(&T); return EXIT_SUCCESS;}
开发者ID:jasonleakey,项目名称:CrapCodes,代码行数:30,
示例24: Createvoid Create(int fract){ switch(fract) { case TREE: CreateTree(); break; }}
开发者ID:gstariarch,项目名称:opengl_walkthrough,代码行数:8,
示例25: mainint main(){ BiTree T; T=CreateTree(); InOrderTraverse(T); return 0;}
开发者ID:mjyplusone,项目名称:CppPrimer,代码行数:8,
示例26: tree_pushleftvoid tree_pushleft(ptree tree, ULONG type, char *data){ ptree _New = CreateTree(); tree->_Left = _New; _New->_Parent = tree; _New->data = data; _New->type = type;}
开发者ID:rollrat,项目名称:old-library,代码行数:8,
示例27: SpatialGraphKDNodeSpatialGraphKDNode* SpatialGraph::CreateTree(int depth, const BoundingBox& bbox, SpatialGraphKDNode* parent, int index){ SpatialGraphKDNode* node = new SpatialGraphKDNode(bbox, parent); node->Tree = this; node->bBlocked = false; //query physics to see if we're blocked node->bBlocked = IsBlocked( bbox ); //Calculate my index if( parent ) { node->Index = index; } else { node->Index = 0; } //Bail out if we reach max depth depth--; node->Depth = _depth - depth; if (depth > 0 && node->bBlocked ) { BoundingBox LHSbbox, RHSbbox; MathUtil::SplitBoundingBox( bbox, (depth % 2) ? MathUtil::AA_X : MathUtil::AA_Y, LHSbbox, RHSbbox ); node->LHC = CreateTree(depth, LHSbbox, node, node->Index << 1); node->RHC = CreateTree(depth, RHSbbox, node, (node->Index << 1) + 1); int iMask = ~(0xFFFFFFFF << depth ); //If I have children, pad my index node->Index = (node->Index << depth) | iMask; //If all my children are blocked, then destroy my children if( IsFullyBlocked(node) ) { DeleteNode( node->LHC ); node->LHC = NULL; DeleteNode( node->RHC ); node->RHC = NULL; } } return node;}
开发者ID:MrSnowman,项目名称:angel2d,代码行数:45,
示例28: CreateDiskPageManager//---------------------------------------------------------------------------// Class TApp//---------------------------------------------------------------------------void TApp::Init(){ // Uncoment one of the page manager creation procedures. Do not uncoment both // of them. CreateDiskPageManager(); // To create it in disk //CreateMemoryPageManager(); // To create it in memory // Creates the tree CreateTree();}//end TApp::Init
开发者ID:pedro-stanaka,项目名称:PgAR-tree,代码行数:12,
示例29: Initializebool pawsConfigCamera::Initialize(){ psengine->GetPSCamera()->LoadFromFile(false,false); if (!CreateTree()) return false; UseBorder("line"); return true;}
开发者ID:randomcoding,项目名称:PlaneShift-PSAI,代码行数:9,
示例30: mainint main() { SearchTree T; T = CreateTree(T);// Print(T); TreeNode* node = Find(T, 4); printf("%d ", node->data); printf("/n"); return 0;}
开发者ID:SuperMardle,项目名称:DataStructure,代码行数:9,
注:本文中的CreateTree函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CreateTupleDescCopy函数代码示例 C++ CreateTransport函数代码示例 |