当前位置:首页 > 日记 > 正文

数据结构与算法C#实施系列--实证第二

数据结构与算法C#实施系列--实证第二

                       数据结构与算法(C#实现)系列---演示篇(二)


                            Heavenkiller(原创)


         public static void ShowGeneralTree_travel()


         {


              IEnumerator tmpIEnum;


              Tree.TraversalType travelType=0;


 


              //---------------------提示----------------------------


              Console.WriteLine("please choose a the No. of a item you want to travel:");


              Console.WriteLine("1.BreadthFirst----- 广度遍历");


              Console.WriteLine("2.PreDepthFirst-----前序遍历");


              Console.WriteLine("3.InDepthFirst----中序遍历");


              Console.WriteLine("4.PostDepthFirst----后序遍历");


              switch(Console.ReadLine())


              {


                   case "1"://Show Stack


                       travelType=Tree.TraversalType.Breadth;


                       Console.WriteLine("广度遍历");


                       break;


                   case "2"://SortedList


                       travelType=Tree.TraversalType.PreDepth;


                       Console.WriteLine("前序遍历");


                       break;


                   case "3":


                       travelType=Tree.TraversalType.InDepth;


                       Console.WriteLine("中序遍历");


                       break;


                   case "4":


                  


 


 


travelType=Tree.TraversalType.PostDepth;


                       Console.WriteLine("后序遍历");


                       break;


                  


                   default:


                       break;


              }


              //构造一棵广义树 generaltree


              GeneralTree A=new GeneralTree("A");


              GeneralTree B=new GeneralTree("B");


              GeneralTree C=new GeneralTree("C");


              GeneralTree D=new GeneralTree("D");


              GeneralTree E=new GeneralTree("E");


              GeneralTree F=new GeneralTree("F");


                       A.AttackSubtree(B);


              A.AttackSubtree(C);


              B.AttackSubtree(D);


              B.AttackSubtree(E);


              A.AttackSubtree(F);


              //show the operation


              Console.WriteLine("A.AttackSubtree(B)");


              Console.WriteLine("A.AttackSubtree(C)");


              Console.WriteLine("B.AttackSubtree(D)");


              Console.WriteLine("B.AttackSubtree(E)");


              Console.WriteLine("A.AttackSubtree(F)");


//--------------------------------------------------------


        


              A.SetTraversalType(travelType);//设置遍历类型


              tmpIEnum=A.GetEnumerator();


 


              //Console.WriteLine("begin to depthfist travel:");


        


              while(tmpIEnum.MoveNext())


              {


                   Console.WriteLine(tmpIEnum.Current.ToString());


              }


        


    


         }


 


         public static void ShowStack_RPNCalCulator()


         {


              //read a expression string and push every character into the stack in queue.


              Console.WriteLine("this is performance for stack,you can input a string like this '123*+',then this subprogramme can compute it and get the result '7',this is RPN calculator. ");


              Console.WriteLine("please input a expression string:");


              string strExpression=Console.ReadLine();


              char [] tmpChars=strExpression.ToCharArray(0,strExpression.Length);


              Stack stackRPN=new Stack();


             


 


 


              int numA,numB;


              foreach(char tmp in tmpChars)


              {


                   switch (tmp)


                   {


 


                       case '*':


                            numA=(int)stackRPN.Pop();


                            numB=(int)stackRPN.Pop();


                            stackRPN.Push(numA*numB);


                            break;


                       case '+':


                            numA=(int)stackRPN.Pop();


                            numB=(int)stackRPN.Pop();


                            stackRPN.Push(numA+numB);


                            break;


                       default:


                            stackRPN.Push(Int32.Parse(tmp.ToString()));


                            break;


                      


                   }


                  


                  


 


              }


              Console.WriteLine("the result is:{0}",stackRPN.Pop().ToString());


 


 


          }


 


相关文章

非主流提示:关闭Windows窗口魔术快

非主流提示:关闭Windows窗口魔术快

快捷键,提示,魔术,非主流,窗口,每次在软媒win7家族和Vista家族写的技术文章,总是忐忑。因为评论基本上都不看。一些深度是好的,虽然有些人不理解,但不会说坏。做一个小小的白色。就这样,他们被骂了。 幸运的是,我已经保持了3多年的良好心态,所以…

分类选择复选框

分类选择复选框

选择,复选框,分类,电脑软件,                                                                                                    …

微软:IE6将退出美国市场不到1%

微软:IE6将退出美国市场不到1%

退出,市场,美国,电脑软件,据国外媒体报道,微软周二通过官方博客宣布,IE6的在美国浏览器市场的份额已经不足1%。在美国之前,澳大利亚、波兰、瑞典、丹麦、芬兰和挪威等国的IE6的份额早已不足1%。微软正在不顾一切的敦促用户把浏览器升级为更为…

一个非常好的Windows7自我截图工具

一个非常好的Windows7自我截图工具

工具,非常好,截图,自我,电脑软件,在生活中,我们经常用截图工具来截取图片来介绍某些知识或说明问题,图片比文字描述要方便得多。 一般的专业截图软件,需要设置好截图热键再截取,比较麻烦。使用Windows 7的用户,不用安装其他的截图软件,使用系统自…

微软推出的SkyDrive云存储应用的WP

微软推出的SkyDrive云存储应用的WP

云存储,推出,设备,电脑软件,SkyDrive,北京时间11月8日消息,微软推出的云存储应用SkyDrive上星期三为Windows Phone 8,该应用程序允许用户将文件存储于云瑞,便于随时随地访问数据。 这个免费的应用程序也可以与其他用户共享文件,管理和编辑文件…

{}Win7壁纸高清风景张家界14P

{}Win7壁纸高清风景张家界14P

风景,壁纸,电脑软件,高清, 高清风光风景『张家界』系列壁纸,分辨率为1920X1200 ,共14P。感谢软媒论坛会员 jiaoyoutian 的分享。 张家界为中国湖南省的省辖地级市,位于湖南西北部,澧水中上游,属武陵山脉腹地,为中国最重要的旅游城市之一。…

金山的全面回归将进入网络教育领域

金山的全面回归将进入网络教育领域

网络教育,领域,电脑软件,6月25日,金山词霸推出的著名Word搜索软件发布了一个重大升级。综合版是由7个语言翻译支持,让用户摆脱语言的限制和环游世界。除了UI界面,它还改变了传统的翻译词典软件工具冷风格,皮肤颜色,每天在世界各地展示漂亮的图片…

iPad3将于九月发布。

iPad3将于九月发布。

将于,电脑软件,此前闹得沸沸扬扬的苹果iPad 2发布没多久,果粉们已经开始对期待已久的新产品大失所望了,因为它并没能带来多大的变化。于是大家把目光瞄向了2011年9月将推出的下一代产品iPad 3,并希望能带来以下改变。Retina显示技术iPad 3希望…

轻松共享大PPT的内容,具有播放幻灯

轻松共享大PPT的内容,具有播放幻灯

幻灯片,轻松,功能,内容,电脑软件,轻松分享大个PPT的内容,巧用广播幻灯片功能你是不是也经常因为PPT过大,邮件或在线传输很慢,不能及时将方案发送出去而烦恼?来看看Office2010官方为我们分享的小技巧吧,Office2010记得配着Win7用哟。不如试试Powe…

曾轶可老师的同学们透露成长的足迹

曾轶可老师的同学们透露成长的足迹

同学们,足迹,老师,电脑软件,曾轶可,曾轶可 曾轶可高中毕业照(右4排在前排) 曾轶可在快乐女声屡战屡胜,唱得这么差的人会得到电视节,阴谋论开始出现,称为曾轶可的父亲是湖南省著名的大型烟草企业,与国内湖南卫视高层关系很好,是一个走;但曾立刻出…

解决互联网接入由Win7/Win8网络配

解决互联网接入由Win7/Win8网络配

网络,配置问题,互联网,电脑软件,解决互联网接入由Win7 / Win8网络配置问题 当你相信Win7或Win8操作系统的电脑在互联网上的使用有时会碰到不,有一个小的网络小图标感叹号在电脑的右下角,有这样一种情况,我们经常回去如果有问题,看看自己的路由…

通过2万微软Win8应用商店的软件中

通过2万微软Win8应用商店的软件中

软件中断,应用商店,电脑软件,北京时间11月23日,据美国科技网站赢APP更新估计,微软Windows 8系统在Windows Store应用程序商店的软件号星期二突破2万。 获得应用程序更新说Windows商店共有20610个申请,其中17958是免费的。根据国家统计局的数…