武汉北大青鸟鲁广校区java技术
在JAVA中实现二叉树结构
*
*讲解:
*二个方法函数,一个寻找关键字--searchkey另一个是插入一个结点:insertTree
*另外这是一个完的先序遍历二叉树的语法。先根结点,再左结点,如无再右结点,
*如此递归至搜索完毕。
*
*/
publicclassBinaryTreeTest{ privateBinaryTreeroot=null; publicBinaryTreeTest(){ init(); } /** *初始化给定数据的二叉树结构 * */ privatevoidinit(){ intdata[]={12,11,34,45,67,38,56,43,22,8}; root=newBinaryTree(data[0]); System.out.println("二叉树的中的数据结构:"); System.out.println("------------------------------------"); System.out.println(data[0]+":root"); for(inti=1;i<data.length;i++){ System.out.print(data[i]+":"); root.insertTree(root,data[i]); } System.out.println("------------------------------------"); } publicvoidserach(intkey){ if(searchkey(root,key)){ System.out.println("找到了:"+key); }else{ System.out.println("没有找到:"+key); } } privatebooleansearchkey(BinaryTreeroot,intkey){ if(root==null){ returnfalse; }elseif(root.data==key){ returntrue; }elseif(key>=root.data){ returnsearchkey(root.rightpoiter,key); } returnsearchkey(root.leftpoiter,key); } classBinaryTree{ intdata; BinaryTreeleftpoiter; BinaryTreerightpoiter; BinaryTree(intdata){ this.data=data; leftpoiter=null; rightpoiter=null; } privatevoidinsertTree(BinaryTreeroot,intdata){ if(data>=root.data){ if(root.rightpoiter==null){ System.out.println("->newrightpoiter"); root.rightpoiter=newBinaryTree(data); }else{ System.out.print("->rightpoiter"); insertTree(root.rightpoiter,data); } }else{ if(root.leftpoiter==null){ System.out.println("->newleftpoiter"); root.leftpoiter=newBinaryTree(data); }else{ System.out.print("->leftpoiter"); insertTree(root.leftpoiter,data); } } } } publicstaticvoidmain(Stringargs[]){ BinaryTreeTestb=newBinaryTreeTest(); intkey=8;//key:任意数值 b.serach(key);//到二叉树中查找 } } 运行结果: C:\java>javaBinaryTreeTest 二叉树的中的数据结构: ------------------------------------ 12:root 11:->newleftpoiter 34:->newrightpoiter 45:->rightpoiter->newrightpoiter 67:->rightpoiter->rightpoiter->newrightpoiter 38:->rightpoiter->rightpoiter->newleftpoiter 56:->rightpoiter->rightpoiter->rightpoiter->newleftpoiter 43:->rightpoiter->rightpoiter->leftpoiter->newrightpoiter 22:->rightpoiter->newleftpoiter 8:->leftpoiter->newleftpoiter |
找到了:8
本文标题:Java教程:在JAVA中实现的二叉树结构,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2015-10-09 10:06:49发布于北大青鸟鲁广校区。武汉北大青鸟鲁广校区java技术 在JAVA中实现二叉树结构 * *讲解: *二个方法函数,一个寻找关键字--searchkey另一个是插入一个结点:insertTree *另外这是一个完的先序遍历二叉树的语法
预约将免费领取7天课程体验卡
只为您方便就学
专业老师24小时1对1学习指导
定制专属于你的专属学习方案
微信号:17740513250
微信号:17740513250