|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。
比来研讨了一下二叉树布局,参考了一些材料,总结了一下。- packagecom.test;/***//****在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);//到二叉树中查找}}
复制代码 <p>
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。 |
|