关于网友提出的“ 关于二叉树的建立、输出和遍历”问题疑问,本网通过在网上对“ 关于二叉树的建立、输出和遍历”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于二叉树的建立、输出和遍历
描述: 前几天老师布置的一个作业,关于二叉树的。要求按二叉树的层次遍历顺序输入二叉树的结点,建立二叉树,按凹入表形式横向打印二叉树结构,并进行先序、中序、后序的遍历。
写了程序如下:
#include "assistance.h" // 实用程序软件包
#include "binary_tree.h" // 二叉树类
int main(void)
{
BinTreeNode *cur, *c, *f;
LinkQueue qa;
char x;
int n=1;
qa.Clear();
cout << endl << "输入回车时退出";
cout<<"请输入根结点:";
cin >> x;
BinaryTree bt(x); // 建立二叉树
cur = bt.GetRoot();
while (x != getchar())
{
cout << endl << "按层次遍历顺序输入各叶子结点:";
cin >> x;
n++;
if(n/2==0)
{
bt.InsertLeftChild(cur, x);
if(x=" ") {
bt.DeleteLeftChild(cur);
}
}
if((n+1)/2==0)
{
bt.InsertRightChild(cur, x);
if(x=" ") {
bt.DeleteRightChild(cur);
}
}
}
DisplayBTWithTreeShape(bt);
cout << "先序遍历:" << endl;
bt.PreOrder(Write);
cout<<>
system("PAUSE"); // 调用库函数system()
cout << "中序遍历:" << endl;
bt.InOrder(Write);
cout<<>
system("PAUSE"); // 调用库函数system()
cout << "后序遍历:" << endl;
bt.PostOrder(Write);
cout<<>
system("PAUSE"); // 调用库函数system()
system("PAUSE"); // 调用库函数system()
return 0;
}
但是运行结果是:
invalid conversion from `const char*' to `char' (大红色字体的位置)
坐等高人解答,本人是初学数据结构,并且这个学期才刚开始学C++,很多地方都不懂,求指点~
解决方案1: char x;
if(x=" ")
x是char类型,你给它赋字符串,当然是错的。
就看这行的话,估计你是要
if(x == ' ')
吧
以上介绍了“ 关于二叉树的建立、输出和遍历”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3784930.html