开发工具与关键技术: Visual Studio / C++
作者:何文涛
撰写时间:2019-7-25
树形结构:非线性结构,一个直接前驱,但可能有多个直接后继
二叉树则是C++里面的一个树型数据结构,二叉树的结构最简单,规律性最强,可以证明所有树都能转为唯一对应的二叉树,不失一般性。
二叉树:其数据结构具体可以理解为左兄弟右孩子。
下面举了个简单的例子
//二叉树节点
typedef struct BINARYNODE
{
char ch;
struct BINARYNODE* lchild; //左子节点
struct BINARYNODE* rchild; //右子节点
}BinaryNode;
首先定义了一个结构体,作为建立二叉树型节点,定义了一个cher类型的ch用来装节点的数据,而指针类型的lchild和rchild则是用来表示节点的左子节点和右子节点。
//输出
void Recursion(BinaryNode* root)
{
if (root==NULL)
{
return;
}
//先访问根节点
cout << root->ch;
//在遍历左子树
Recursion(root->lchild);
//在遍历右子树
Recursion(root->rchild);
}
这里是输出的一个递归调用,参数是一个指针类型的root作为遍历需要用到的指针,先判断指针是否为空,为空的话就直接返回,然后进行输出