这个程序中为什么出错???为什么不能把nl,nr定义为全局变量,求大神指教
2013-11-17 14:43
489 查看
#include<iostream>
using namespace std;
//===========================
struct BiTnode
{
char data;
struct BiTnode *lchild,*rchild;
};
//定义二叉树中的结点类型
//=========================================
void createbt(BiTnode *&T);
int Number(BiTnode *&T);
int nr,nl,num=0;
//=======================================
int main()
{
BiTnode *mytree;
cout<<"请以先序遍历的顺序输入二叉树中所有结点的字符"<<endl;
createbt(mytree);
cout<<"输出该二叉树的结点个数:"<<endl;
//Number(mytree,num);
cout<<Number(mytree)<<endl;
return 1;
}
//========================================
void createbt(BiTnode *&T)
{
char c;
cin>>c;
if(c=='#')
{
T=NULL;
return;
}
else
{
T=new BiTnode;
T->data=c;
createbt(T->lchild);
createbt(T->rchild);
}
}
//以先序序列作为输入顺序创建二叉树链表
//===========================
int Number(BiTnode *&T)
{
if(T==NULL)
{
cout<<"该二叉树为空树,程序结束"<<endl;
return 0;
}
else
{
nl=Number(T->lchild);
nr=Number(T->rchild);
return nr+nl+1;
}
}
using namespace std;
//===========================
struct BiTnode
{
char data;
struct BiTnode *lchild,*rchild;
};
//定义二叉树中的结点类型
//=========================================
void createbt(BiTnode *&T);
int Number(BiTnode *&T);
int nr,nl,num=0;
//=======================================
int main()
{
BiTnode *mytree;
cout<<"请以先序遍历的顺序输入二叉树中所有结点的字符"<<endl;
createbt(mytree);
cout<<"输出该二叉树的结点个数:"<<endl;
//Number(mytree,num);
cout<<Number(mytree)<<endl;
return 1;
}
//========================================
void createbt(BiTnode *&T)
{
char c;
cin>>c;
if(c=='#')
{
T=NULL;
return;
}
else
{
T=new BiTnode;
T->data=c;
createbt(T->lchild);
createbt(T->rchild);
}
}
//以先序序列作为输入顺序创建二叉树链表
//===========================
int Number(BiTnode *&T)
{
if(T==NULL)
{
cout<<"该二叉树为空树,程序结束"<<endl;
return 0;
}
else
{
nl=Number(T->lchild);
nr=Number(T->rchild);
return nr+nl+1;
}
}
相关文章推荐
- 为什么.h文件中不能定义全局变量
- 大数组定义在main函数中不能执行,为什么将其定义为全局变量就可以执行?
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- 为什么定义一个过大的数组或容器,应当把它把它定义为全局变量为宜?
- 主函数调用其他源文件定义的全局变量偶尔出错
- C++编译器在编译程序时会自动定义的预处理器(类似于全局变量)
- 为什么这个万年历的程序不能显示某年某月有的天数
- 变量作用域是程序中定义这个变量的区域。蛮不错的。。
- [C语言]除非该数组为全局变量,否则只能在定义数组时获取数组长度,在传递过程中只是传递指针不能再次获取长度
- 为什么程序语言中的变量名为什么不能以数字开头?
- JAVA成员变量为什么不能在类体中先定义后赋值
- MFC程序中定义和引用全局变量
- 为什么接口中不能定义变量(oop设计原理)
- 程序语言中的变量名为什么不能以数字开头
- 程序语言中的变量名为什么不能以数字开头
- 为什么在函数中不能通过指针返回本地定义的变量
- java中的全局变量与静态变量的区别与联系?有时候为什么专门定义静态变量。(标题党~~)
- //这里为什么定义个display()全局函数,作为舞台,让对象唱戏,不能直接把他们放在主函数里面吗,这样写好处在哪,两者区别在哪?????
- 如何在多源文件程序中合理定义全局变量
- C C++全局变量初始化 initializer element is not constant 错误 c++中为什么不能对全局变量在函数外赋值