C++ 二叉树中序遍历输出字母
#include<stdio.h>
#include
要输出字母,需要将数据类型改为char,然后修改相应的代码。
修改代码如下:
#include<stdio.h>
#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef char TElemType; // 将数据类型改为char
typedef TElemType SqBiTree[MAXSIZE];
SqBiTree bt;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void InOrderTraverse(BiTree T)
{
if(T)
{
InOrderTraverse(T->lchild);
cout<<T->data<<endl; // 输出字母
InOrderTraverse(T->rchild);
}
}
void CreateBiTree(BiTree &T)
{
char ch;
cin>>ch;
if(ch=='#')
T=0;
else
{
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
int main()
{
BiTree T;
CreateBiTree(T);
InOrderTraverse(T);
return 0;
}
这样修改之后,输入的数据可以是字母,然后程序会按照中序遍历的顺序输出字母。
原文地址: https://www.cveoy.top/t/topic/pl2Y 著作权归作者所有。请勿转载和采集!