lz要崩溃了,网上的办法都试过了
#include<iostream>
#include<iomanip>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
typedef char ElemType;
typedef struct BiTNode
{
ElemType data;
struct BiTNode* lchild, * rchild;
}TREE, * LPTREE;
//创建二叉树 前序遍历
void CreateBiTree(LPTREE* A)
{
ElemType c;
cout << "请输入字符:" << endl;
cin >> c;
if (c == ' ')
{
*A = NULL;
}
else
{
*A = (TREE*)malloc(sizeof(TREE));
if (A == NULL)
{
return;
}
(*A)->data = c;
CreateBiTree(&(*A)->lchild);
CreateBiTree(&(*A)->rchild);
}
}
void print(ElemType data, int level)
{
cout << data << endl;
cout << level << endl;
}
void preOrder(LPTREE root, int level)
{
if (root)
{
print(root->data, level);
preOrder(root->lchild, level + 1);
preOrder(root->rchild, level + 1);
}
}
int main()
{
LPTREE* A = NULL;
CreateBiTree(A);
cout << "先序遍历" << endl;
preOrder(*A, 1);
system("pause");
return 0;
}
#include<iostream>
#include<iomanip>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
typedef char ElemType;
typedef struct BiTNode
{
ElemType data;
struct BiTNode* lchild, * rchild;
}TREE, * LPTREE;
//创建二叉树 前序遍历
void CreateBiTree(LPTREE* A)
{
ElemType c;
cout << "请输入字符:" << endl;
cin >> c;
if (c == ' ')
{
*A = NULL;
}
else
{
*A = (TREE*)malloc(sizeof(TREE));
if (A == NULL)
{
return;
}
(*A)->data = c;
CreateBiTree(&(*A)->lchild);
CreateBiTree(&(*A)->rchild);
}
}
void print(ElemType data, int level)
{
cout << data << endl;
cout << level << endl;
}
void preOrder(LPTREE root, int level)
{
if (root)
{
print(root->data, level);
preOrder(root->lchild, level + 1);
preOrder(root->rchild, level + 1);
}
}
int main()
{
LPTREE* A = NULL;
CreateBiTree(A);
cout << "先序遍历" << endl;
preOrder(*A, 1);
system("pause");
return 0;
}