二叉树的链式存储传参的代码
时间: 2023-11-19 07:04:58 浏览: 81
以下是C++语言实现二叉树的链式存储方式的代码示例:
```cpp
#include<iostream>
using namespace std;
// 定义二叉树节点结构体
struct TreeNode
{
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x): val(x), left(NULL), right(NULL) {}
};
// 二叉树的前序遍历函数
void preOrder(TreeNode* root)
{
if(root == NULL) return;
cout<<root->val<<" ";
preOrder(root->left);
preOrder(root->right);
}
// 创建二叉树函数
TreeNode* createTree()
{
int val;
cin>>val;
if(val == -1) return NULL; // 遇到-1表示该节点为空
TreeNode* root = new TreeNode(val);
root->left = createTree();
root->right = createTree();
return root;
}
int main()
{
cout<<"请输入二叉树的节点,-1表示该节点为空:"<<endl;
TreeNode* root = createTree();
cout<<"二叉树的前序遍历结果为:"<<endl;
preOrder(root);
return 0;
}
```
在上面的代码中,我们定义了一个`TreeNode`结构体作为二叉树的节点,包含了该节点的值域、左子树指针和右子树指针。函数`createTree()`用于创建二叉树,采用先序遍历的方式输入二叉树的节点,遇到-1表示该节点为空。函数`preOrder()`是二叉树的前序遍历函数,用于输出二叉树的节点值。最后在`main()`函数中调用`createTree()`函数创建二叉树,并调用`preOrder()`函数输出二叉树的前序遍历结果。
阅读全文