当前位置: 首页 > news >正文

北京梦创义网站建设广州企业网站营销电话

北京梦创义网站建设,广州企业网站营销电话,wordpress 4.8.1 教程,做网站如何在百度快照上排名1 二叉树类的设计以及二叉树遍历 要完成二叉树的类设计#xff0c;最好把链表下的Node.js复制过来#xff0c;相比链表的结点#xff0c;二叉树仅仅是多了一个结点指针而已。略加修改后#xff0c;就是#xff1a; function TNODE(DATA) { this.DataDATA; this.lChildnu…1 二叉树类的设计以及二叉树遍历 要完成二叉树的类设计最好把链表下的Node.js复制过来相比链表的结点二叉树仅仅是多了一个结点指针而已。略加修改后就是 function TNODE(DATA) { this.DataDATA; this.lChildnull; this.rChildnull; this.SetLChildfunction (LCHILD){this.lChildLCHILD;} this.GetLChildfunction (){return this.lChild;} this.SetRChildfunction (RCHILD){this.rChildRCHILD;} this.GetRChildfunction (){return this.rChild;} this.GetDatafunction (){return this.Data;} }在这个类中用 SetLChild()、GetLChild()  两个方法来设置、读出该结点的左孩子 SetRChild()、GetRChild()  两个方法来设置、读出该结点的右孩子 SetData()、GetData()     两个方法来设置、读出该结点的数值。 要测试这个类也很容易注意再次复制二叉树下的a1.html略加修改就是 htmlheadmeta http-equivContent-Type contenttext/html; charsetgb2312 /title二叉树测试程序/titleSCRIPT TYPETEXT/JAVASCRIPT srcTNode0.js/SCRIPTscript typetext/javascriptfunction Trav(T){var s;if(Tundefined||Tnull) return;Trav(T.GetLChild());document.write(T.GetData()br);Trav(T.GetRChild());}function fun(){var AAA;var BBB;var CCC;var DDD;var TAnew TNODE(A);var TBnew TNODE(B);var TCnew TNODE(C);var TDnew TNODE(D);TA.SetLChild(TB);TA.SetRChild(TC);TB.SetRChild(TD); Trav(TA);}/script/headbody bgcolor#FFFFFFdivinput typebutton idBUTTON1 value开始测试 onclickfun()//div/body /html注意这个程序的第5行一定要加载TNode0.js否则无法构造二叉树。 第7到14行是一个典型的递归二叉树遍历其中第12行打印遍历结果的语句说明它是按中序遍历打印结果的。 第15开始的函数fun()是构造一个简单的二叉树然后在第27行进行遍历。 从程序本身而言没有任何复杂的地方直接点开T1.html就显示了结果。 2 IE8下JavaScript程序的调试 JavaScript编程最大的麻烦是缺乏一个好的编程平台往往这类简单的程序都是在记事本这样的程序里编写的但必要的调试手段还是需要的。目前很多浏览器都自己带有JavaScrip程序调试工具比较常用的有两种IE8、Chrome两种浏览器。IE8是WINDOWS系统默认的浏览器而谷歌的Chrome则非常小并且功能异常强大我们下面先看在IE8下如何调试JvaaScrip程序。 用IE8打开T1.HTML文件然后点开菜单工具-开发人员工具就是 图 1 则显示下面的界面 图 2 注意按下选项卡脚本如图3就会看到我们的程序。 图 3 注意看上面的按钮启动调试鼠标按下该按钮。然后看左边程序行号选第17行的“17”位置处、鼠标点下就是这样的结果 图 4 这个功能是给该行上加上断点所谓断点就是程序运行到这里要停止下来做完这些工作后回到浏览器界面里按下网页上按钮开始测试让程序开始运行此时程序会跳到上述加断点的位置处、并停下来就是 图 5 注意此时的界面它分割成两个部分按下右边界面的按钮局部变量有 图 6 如果按下F10、F11含义同VC一致会逐个语句执行并看到结果如 图 7 从图7我们可以看到这些变量的结果确实是我们所要的。按F11逐步进Trav()函数就会看到这个树的遍历情况。 谷歌浏览器chrome的调试过程和IE8差别不大仅仅是界面有差异由于谷歌浏览器并没有IE8浏览器的文件打开菜单所以你可以用鼠标点中T1.HTML文件直接拖进浏览器界面里即可注意谷歌浏览器的调试功能是在 图 8 该功能隐藏很深但功能确实不错。值得注意的是谷歌浏览器支持HTML5而IE8则不支持。 学会浏览器下调试JavaScript的另一个好处是你可以直接对一个网站的程序进行这样的调试这在过去是不能想象的事情。由于有了这样的功能一度让很多网站的安全防护遭到解破但很快相当数量的网站其安全体系也有了质的飞跃所以一个工具本身的好坏是很难评价的但总体说来勤奋者手中有好的工具、那么好处是显而易见的事情。 3 复杂数据类型对象的二叉树构造以及遍历 对JavaScrip这样的计算机语言而言它的变量本身没有什么特定的类型概念所以本身就是泛型的但我们还是做一个结点数据类型复杂的二叉树来完成一个实验。 复制链表下的ElemType.js过来这个类是 function ElemType(SNO,SNAME,SAGE) {this.sNoSNO;this.sNameSNAME;this.sAgeSAGE;this.GetSNOfunction(){return this.sNo;}this.GetSNAMEfunction(){return this.sName;}this.GetSAGEfunction(){return this.sAge;} }这个类虽然简单但也有合适的数据类型。为此我们就要修改T1.html中结点的数据就是这样的 var Anew ElemType(20102000,A,19); var Bnew ElemType(20102001,B,20); var Cnew ElemType(20102002,C,21); var Dnew ElemType(20102003,D,22); 然后和T1.HEML一样完成一个简单的二叉树就是 htmlheadmeta http-equivContent-Type contenttext/html; charsetgb2312 /title二叉树测试程序/titleSCRIPT TYPETEXT/JAVASCRIPT srcElemType.js/SCRIPTSCRIPT TYPETEXT/JAVASCRIPT srcTNode0.js/SCRIPTscript typetext/javascriptfunction Trav(T){var s;if(Tundefined||Tnull) return;Trav(T.GetLChild());sT.GetData();document.write(s.GetSNO() s.GetSNAME() s.GetSAGE()br);Trav(T.GetRChild());}function fun(){var Anew ElemType(20102000,A,19);var Bnew ElemType(20102001,B,20);var Cnew ElemType(20102002,C,21);var Dnew ElemType(20102003,D,22);var TAnew TNODE(A);var TBnew TNODE(B);var TCnew TNODE(C);var TDnew TNODE(D);TA.SetLChild(TB);TA.SetRChild(TC);TB.SetRChild(TD); Trav(TA);}/script/headbody bgcolor#FFFFFFdivinput typebutton idBUTTON1 value开始测试 onclickfun()//div/body /html表4 复杂数据类型的二叉树遍历见T2.html 注意上面程序的变更 第5行要引用ElemType.js否则我们没办法构造学生类型数据 由于JavaScript的数据类型本身就是泛型所以二叉树类不需要任何修改。 第8行开始的遍历函数Trav()由于每个结点类型成为ElemType这样的三列数据所以要显示一行就必须把三列分开显示如第14行。运行T2.html会看到这个树的遍历结果。 4 回调模式传输遍历结果 在C#下dt.c已经显示了这个技术的全貌这样的递归函数就是这样的 function Trav(T,preTrav,inTrav,posTrav) {if(Tundefined||Tnull) return;if(!(preTravundefined||preTravnull)) preTrav(T);Trav(T.GetLChild(),preTrav,inTrav,posTrav);if(!(inTravundefined||inTravnull)) inTrav(T);Trav(T.GetRChild(),preTrav,inTrav,posTrav);if(!(posTravundefined||posTravnull)) posTrav(T); }在这个函数里参数: T      遍历中二叉树的结点对象 preTrav先序遍历处理函数 inTrav 中序遍历处理函数 posTrav后序遍历处理函数 把这个函数写进二叉树类中全部就是 function TNODE(DATA) { this.DataDATA; this.lChildnull; this.rChildnull; this.SetLChildfunction (LCHILD){this.lChildLCHILD;} this.GetLChildfunction (){return this.lChild;} this.SetRChildfunction (RCHILD){this.rChildRCHILD;} this.GetRChildfunction (){return this.rChild;} this.GetDatafunction (){return this.Data;} function Trav(T,preTrav,inTrav,posTrav) {if(Tundefined||Tnull) return;if(!(preTravundefined||preTravnull)) preTrav(T);Trav(T.GetLChild(),preTrav,inTrav,posTrav);if(!(inTravundefined||inTravnull)) inTrav(T);Trav(T.GetRChild(),preTrav,inTrav,posTrav);if(!(posTravundefined||posTravnull)) posTrav(T); } this.Traversefunction(preTrav,inTrav,posTrav){Trav(this,preTrav,inTrav,posTrav);} }注意这个类是在文件TNode1.js中。为了测试这个类编写网页程序如下 htmlheadmeta http-equivContent-Type contenttext/html; charsetgb2312 /title二叉树测试程序/titleSCRIPT TYPETEXT/JAVASCRIPT srcTNode1.js/SCRIPTscript typetext/javascriptfunction P1(T){document.write(T.GetData()br);}function fun(){var AAA;var BBB;var CCC;var DDD;var TAnew TNODE(A);var TBnew TNODE(B);var TCnew TNODE(C);var TDnew TNODE(D);TA.SetLChild(TB);TA.SetRChild(TC);TB.SetRChild(TD); TA.Traverse(P1,null,null);}/script/headbody bgcolor#FFFFFFdivinput typebutton idBUTTON1 value开始测试 onclickfun()//div/body /html注意第7行这个函数P1()仅仅是打印结点的值注意在第24行TA结点的遍历用P1作为实参传递给遍历函数这样这个网页会打印出二叉树的先序遍历结果。
http://www.yutouwan.com/news/237970/

相关文章:

  • 母婴用品商城网站建设电商企业网站建设的一般要素有哪些
  • 湛江网站设计公司php免费网站建设
  • 长春做网站建设的公司百度推广广告公司
  • 政务公开既网站信息化建设会议wordpress标签有什么用
  • 搭建公司内部网站营销型网站建设 课程
  • 快站建站怎么收费的网站建设 英语翻译
  • 模板包下载网站在网站开发中如何设置用户登录
  • 夺宝网站还可以做吗一个网站可以做多少个关键词
  • 长安镇仿做网站网站的横幅怎么做的
  • 公司请人做的网站 域名属于谁wordpress 文章段落
  • 网站开发项目的简介广告创意设计与制作
  • 中国网站设计师东莞中高风险地区
  • 伪静态 网站网站开发维护合同模板电子版
  • 网站制作公司多少钱一年论坛模板
  • 邵阳建设网站公司哪个网站可以做高像素动图
  • 湘潭哪里做网站 电话做网站月薪资多少钱
  • 做甜品网站栏目亚i洲人页码24林妹妹
  • 网页制作作业网站安徽做网站公司哪家好
  • 怎么建立一个购物网站迁移wordpress 500
  • 秦皇岛网站制作人才招聘山东金城建设网站
  • 通用网址查询网站谷歌风格wordpress
  • 做aa视频网站企业网站seo教程
  • 专业做家居的网站有哪些网站改版建设的目的
  • 织梦怎么做的网站购物平台网站建设
  • 网站规划建设书工业设计手绘
  • 哪里网站建设公司好个人设计网站
  • 广东省医院建设协会网站首页网站系统运行环境
  • 医疗器械生产质量管理规范临沂seo公司稳健火星
  • 400网站建设办公网站推广应该注意什么
  • 贵安新区微信网站建设陵水网站建设友创科技