标签:right val 树结构 创建 BiTNode char 二叉树 节点
树形结构是一类重要的非线性数据结构,其中树和二叉树最为重要,那么如何创建二叉树.
方法1> 可采用树的先序遍历(根左右)的方式创建,从键盘输入树结构的先序遍历的value值即可.
假设1:我们规定如果键入“/”为空节点,此时树的节点结构val为char类型,此时创建的树结构的所有节点也是char类型.
假设2:我们规定如果键入"9"为空节点,此时树的节点结构val为int类型,此时创建的树结构的所有节点也是int类型
假设1为例进行编程:
typedef struct BiTNode{ char val; BiTNode *left; BiTNode *right; }; //先序遍历创建一个树结构 bool CreateBiTree(BiTNode * &T) { char ch; std::cout << "Input the value:"; std::cin >> ch; if(ch == '/') return true; BiTNode *p = new BiTNode(); if(!p) exit(OVERFLOW); p->val = ch; p->left = p->right = NULL; T = p; CreateBiTree(T->left); CreateBiTree(T->right); } //代码测试 //先序遍历打印结果 bool PreOrderTraverse(BiTNode *T,void (*visit)(char e)) { if(T == NULL){ std::cout << "/" ; return ture; } visit(T->val); PreOrderTraverse(T->right,visit); } void print(char e){ std::cout << e; }
main函数调用者可自己编写
方法二.....
标签:right,val,树结构,创建,BiTNode,char,二叉树,节点 来源: https://www.cnblogs.com/haogod/p/11217687.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。