关于二叉树的创建、先序遍历、中序遍历、后序遍历和求树的深度链表实现。
代码如下,如有问题可以留言。
/* 二叉树的创建及遍历 */
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
#define ElementType string //如果想用整型可以把string修改为int
struct tree {
ElementType data;
struct tree* left;
struct tree* right;
};
struct tree* CreatTree (struct tree* root) { //创建二叉树
ElementType num;
cin >> num;
if (num == ".")
return NULL;
root = (struct tree*)malloc(sizeof(struct tree)); //给结点分配内存
root->data = num;
cout << "请输入" << root->data << "的左子树:";
root->left = CreatTree(root->left); //递归添加左子树
cout << "请输入" << root->data << "的右子树:";
root->right = CreatTree(root->right); //递归添加右子树
return root;
}
void PreOrderTraversal (struc