void CreatTree(TNode* &root) //递归法先序创建树 { char ndata; cin>>ndata; if(ndata=='#') root=NULL; else { root=new TNode;root->data=ndata; CreatTree(root->lchild); CreatTree(root->rchild); } } void preOrderTraver(TNode*& root) //递归法先序遍历 { if(root!=NULL) { cout<<root->data<<" "; preOrderTraver(root->lchild); preOrderTraver(root->rchild); } }
时间: 2024-04-07 09:29:24 浏览: 137
C#递归创建树
3星 · 编辑精心推荐
这是一个二叉树的创建和遍历的代码。其中,CreatTree函数用于递归地创建二叉树,preOrderTraver函数用于递归地进行先序遍历。
具体来说,CreatTree函数接收一个指向TNode类型的指针root的引用,表示要创建的二叉树的根节点。函数首先读入一个字符ndata,如果该字符为'#',表示当前节点为空,将root置为NULL;否则,创建一个新的节点,将其数据域设置为ndata,并递归地创建左子树和右子树。
preOrderTraver函数同样接收一个指向TNode类型的指针root的引用,表示要遍历的二叉树的根节点。函数首先输出当前节点的数据域,然后递归地遍历左子树和右子树,直到遍历完整棵树。
这两个函数结合起来,可以用于创建一个二叉树,并进行先序遍历。
阅读全文