资源描述:
《二叉树结点类JAVA程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二叉树结点类,二叉树类及测试程如下:publicclassBinNode//二叉树结点类{publicintvalue;publicBinNodeleftchild;publicBinNoderightchild;BinNode(){leftchild=null;rightchild=null;}BinNode(intva,BinNodelc,BinNoderc){value=va;leftchild=lc;rightchild=rc;}publicvoidsetValue(inta){value=a;}publicintgetValu
2、e(){returnvalue;}publicvoidsetLeftchild(BinNodebox1){leftchild=box1;}publicBinNodegetLeftchild(){returnleftchild;}publicvoidsetRightchild(BinNodebox2){rightchild=box2;}publicBinNodegetRightchild(){returnrightchild;}}publicclassBinTree//二叉树类{publicBinNoderoot;publicBinTre
3、e(inta,BinTreel,BinTreer)//构造函数{BinNodeleft;BinNoderight;if(l!=null)left=l.root;elseleft=null;if(r!=null)right=r.root;elseright=null;root=newBinNode(a,left,right);}publicvoidprint(intnowdata){System.out.print(nowdata+"");}publicvoidfroscan(BinNoderoot){if(root!=null){pri
4、nt(root.getValue());foscan(root.getLeftchild());froscan(root.getRightchild());}}publicvoidmidscan(BinNoderoot){if(root!=null){midscan(root.getLeftchild());print(root.getValue());midscan(root.getRightchild());}}publicvoidbacscan(BinNoderoot){if(root!=null){bacscan(root.ge
5、tLeftchild());bacscan(root.getRightchild());print(root.getValue());}}publicvoidfroplay()//前序遍历{froscan(root);}publicvoidmidplay()//中序遍历{midscan(root);}publicvoidbacplay()//后序遍历{bacscan(root);}}publicclassTest//测试程序{publicstaticvoidmain(String[]args)throwsException{BinTre
6、ea,b,c,d,e,f,g;g=newBinTree(70,null,null);e=newBinTree(60,null,null);f=newBinTree(50,null,null);d=newBinTree(40,null,g);c=newBinTree(30,e,f);b=newBinTree(20,d,null);a=newBinTree(10,b,c);System.out.println("此树的前序遍历结果:");a.froplay();System.out.println(""+"此树的中序遍历结果:");a.
7、midplay();System.out.println(""+"此树的后序遍历结果:");a.bacplay();}}