学堂 学堂 学堂公众号手机端

在C++中,可以通过定义一个二叉树节点的结构体来表示二叉树节点,然后通过递归的方式来建立和遍历二叉树

lewis 2年前 (2023-12-10) 阅读数 6 #技术

在C++中,可以通过定义一个二叉树节点的结构体来表示二叉树节点,然后通过递归的方式来建立和遍历二叉树。

以下是一个示例代码:

#include<iostream> structTreeNode{ intdata; TreeNode*left; TreeNode*right; TreeNode(intx):data(x),left(nullptr),right(nullptr){} }; voidinsert(TreeNode*&root,intdata){ if(root==nullptr){ root=newTreeNode(data); }else{ if(data<root->data){ insert(root->left,data); }else{ insert(root->right,data); } } } voidinorderTraversal(TreeNode*root){ if(root==nullptr){ return; } inorderTraversal(root->left); std::cout<<root->data<<""; inorderTraversal(root->right); } intmain(){ TreeNode*root=nullptr; intarr[]={5,3,8,2,4,7,9}; for(intnum:arr){ insert(root,num); } std::cout<<"Inordertraversal:"; inorderTraversal(root); std::cout<<std::endl; return0; }

在上面的代码中,定义了一个二叉树节点结构体TreeNode,包含数据域data以及左右子节点指针leftright。然后通过insert函数递归地插入节点来建立二叉树,通过inorderTraversal函数进行中序遍历输出二叉树中的所有节点数据。


可以根据需要修改代码实现其他遍历方式,如前序遍历和后序遍历。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门