关于java 递归创建二叉树的一个问题,求问

问题描述

importjava.lang.Object;importjava.lang.String;importjava.lang.Math;classBiNode//二叉树结点类{privateObjectdata;privateBiNodelchild,rchild;BiNode(Objectdata){this.data=data;}BiNode(Objectdata,BiNodelchild,BiNoderchild){this.data=data;this.lchild=lchild;this.rchild=rchild;}publicObjectgetData(){returndata;}publicvoidsetData(Objectdata){this.data=data;}publicBiNodegetlchild(){returnlchild;}publicBiNodegetrchild(){returnrchild;}publicvoidsetlchild(BiNodelchild){this.lchild=lchild;}publicvoidsetrchild(BiNoderchild){this.rchild=rchild;}publicStringtoString(){returndata.toString();}}classBiTree//二叉树类{privateBiNoderoot;privateinti=0;//用以计算publicBiTree()//无参构造函数{root=newBiNode(null,null,null);}publicvoidCreat(BiNoderoot,Stringstr,intj)//以扩展二叉树方式创建二叉树{charch=str.charAt(j);j++;if(ch=='#'){//root=newBiNode(null,null,null);root.setData(null);return;}else{root.setData(ch);Creat(root.getlchild(),str,j);Creat(root.getrchild(),str,j);}}publicvoidPreOrder(BiNoderoot)//前序遍历{if(root.getData()==null)return;else{System.out.println(root.getData());PreOrder(root.getlchild());PreOrder(root.getrchild());}}}publicclassHi{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStringstr="AB#D##C##";//从控制台或文本框得到的字符串//String[]result=str.split("\s");//字符串处理BiNoderoot=newBiNode(null);BiTreebitree=newBiTree();intj=1;bitree.Creat(root,str,j);bitree.PreOrder(root);}}很简单的一段代码,但是跑的时候报错见附件调用对象未正常初始化,这里都是高手,唉,本吊正在从国企狗转行码农,帮忙看下吧,谢谢了。

解决方案

时间: 2024-11-15 18:45:17

关于java 递归创建二叉树的一个问题,求问的相关文章

根据前序和中序非递归创建二叉树

问题描述 根据前序和中序非递归创建二叉树 2C 怎样才能创建二叉树?传入参数T后,T不断被改变,我只想创建T的子树.然后以T为头节点.struct BTNode{ char data; BTNode lchild ; BTNode *rchild; //左右孩子指针} ;typedef BTNode *BT;/由先序和中序非递归创建二叉树*/void CreatBT2(BT &T string preStr string inStr){ stack stack; int index1index2

c语言-关于二叉树遍历问题,求问错在哪里。。。

问题描述 关于二叉树遍历问题,求问错在哪里... //二叉树的遍历 //按先序序列建立一棵二叉树,按照ABC@@D@@E@F@@输入字符,@代表层数并查找D所在层数 //定义二叉树 typedef struct BiTNode { char data; struct BiTNode *lchild, *rchild; }BiTNode,*BiTree; //按先序创建一棵二叉树 void creatBiTree(BiTree *T) { char c; cin >> c; if (c == '

(JAVA新手)请教大家一个关于求出数组中最大最小值的问题;

问题描述 我的代码是这样的,可是不能打印输出最小值,publicclassShuZu{publicstaticvoidmain(String[]args){intscore[]={1,23,3,4,5,5623,5};intmax=0;intmin=0;max=min=score[0];for(intx=0;x<score.length;x++){if(score[x]>max){max=score[x];}if(score[x]<min);{min=score[x];}}System.

使用Java Swing 创建一个XML编辑器

xml|创建 我想您一定对XML有所了解,说不定您现在还跃跃欲试想写一段XML文本呢,可是现在能找到的跨平台的.免费的XML编辑器太少了.所以在本文中,我想介绍一下或者说带您一步一步的开发一个简单的XML编辑器,当然我们要用到一些最常见的Java 2 Swing组件,不过这些都是免费的,有些是JDK中的,有些是可以从网上下载的.我想通过本文,你就可以创建一个属于你自己的XML编辑器. 先让我介绍一下本文辑写的思路.首先我想简要的讨论一下XML和为什么树型结构比较适合用来显示XML,然后我们来看一

遍历-非递归利用队列创建二叉树

问题描述 非递归利用队列创建二叉树 BinTree create_BinTree( TElemType endTag, TElemType arr[], int n ) { BinTNode* T = new BinTNode; if( T == NULL ) { cerr<<"存储分配失败!"<<endl; exit( 1 ); } InitBTree( T ); LinkQueue Q; InitQueue( Q ); BinTNode *p = NULL;

非递归方式创建二叉树

好长时间没摸过二叉树了,纯属练手 我发现功能描述发布出来就乱了,还是贴图吧 #include <iostream> using namespace std; #define Type char #define MAX_BUFF 30 #define INC_BUFF 20 typedef struct _TreeNode { Type data; struct _TreeNode *lchild; struct _TreeNode *rchild; }TreeNode; TreeNode *c

使用Java Swing创建一个XML编辑器之三

如果你现在正在寻找一个跨平台.资源开放的XML编辑器的话,您可能很快就能够实现这个愿望了.在这个三部分系列文章中,我将带您利用一些最通常的Java 2 Swing组件开发一个简单的 XML编辑器.本系列将有益于那些想编写他们的自己的XML编辑器的朋友或者帮助您学习或温习Swing. 这是本系列的第三篇文章.在第一个篇文章中,我们简要地讨论了XML和为什么树形结构适合显示XML.如何处理XML 数据.如何使用JTree Swing组件,并且我们还构建一个可重用组件用来解析XML文件并在JTree中

使用Java Swing创建一个XML编辑器

我想您一定对XML有所了解,说不定您现在还跃跃欲试想写一段XML文本呢,可是现在能找到的跨平台的.免费的XML编辑器太少了.所以在本文中,我想介绍一下或者说带您一步一步的开发一个简单的XML编辑器,当然我们要用到一些最常见的Java 2 Swing组件,不过这些都是免费的,有些是JDK中的,有些是可以从网上下载的.我想通过本文,你就可以创建一个属于你自己的XML编辑器. 先让我介绍一下本文辑写的思路.首先我想简要的讨论一下XML和为什么树型结构比较适合用来显示XML,然后我们来看一看JAXP A

java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了

问题描述 java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了 HashMap> results = new HashMap>(); //输入的ID int ID=Integer.parseInt(Catid); //表中所有的数据 aas=cloudnewscategory.selectAllGory(); System.out.println("所有记录="+aas); for (CloudNewsCategory gory :