#include<iostream>
#include<stdlib.h>
#define max 100
using namespace std;
typedef struct bnode
{
char data;
int ltag, rtag;
struct bnode *lchild, *rchild;
}Bnode, *BTree;
BTree Q[max];
BTree CREATREE() //层次输入
{
char ch;
int front = 1, rear = 0;
BTree root, s;
root = NULL;
cout << "'@'表示'空','#'表示'结束'" << endl;
cin >> ch;
while (ch != '#')
{
s = NULL;
if (ch != '@')
{
s = (BTree)malloc(sizeof(Bnode));
s->data = ch;
s->lchild = NULL;
s->rchild = NULL;
}
rear++;
Q[rear] = s;
if (rear == 1) root = s;
else
{
if (s&&Q[front])
if (rear % 2 == 0) Q[front]->lchild = s;
else Q[front]->rchild = s;
if (rear % 2 == 1) front++;
}
cin >> ch;
}
return root;
}
int search(char ino[], char pre)//在中序序列中查找先
数据结构:建立二叉树
最新推荐文章于 2023-09-20 20:35:43 发布