目录
1.二叉树前置说明
在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。因为我们只是为了实现二叉树遍历,所以为了降低学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树的排序。
我们创建一个树的结构体,然后实现开辟节点的函数,下面就要链接了(再写一个链接函数,这个函数调用开辟节点函数),开辟好之后就把各自链接起来,大家可以随意链接,我先给大家看看我的树,好方便后面观察递归展开图
typedef int BTDataType;
typedef struct BinaryTreeNode
{
BTDataType val;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
}TreeNode;//创建一个树的结构体
TreeNode* BuyTreeNode(BTDataType x)//开辟节点
{
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
if (node == NULL)
{
perror("malloc fail");
return;
}
node->val = x;
node->left = NULL;
node->right = NULL;
return node;
}
TreeNode* CreateTree()//调用开辟节点函数,然后把节点链接起来就好了
{
TreeNode* node1 = BuyTreeNode(1);
TreeNode* node2 = BuyTreeNode(2);
TreeNode* node3 = BuyTreeNode(3);
TreeNode* node4 = BuyTreeNode(4);
TreeNode* node5 = BuyTreeNode(5);
TreeNode* node6 = BuyTreeNode(6);
TreeNode* node7 = BuyTreeNode(7);
node1->left = node2;
node1->right = node4;
node2->left = node3;
node4->l