网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
..Net(C#)开发漫谈:关于变量的命.
.基于C#的接口基础教程之二.
.Excel 2007单元格及内容的合并、.
.在c#中执行sql语句时传递参数的小.
.数据结构与算法(C#实现)系列---演.
.SUNWEN教程之----C#进阶(三).
.c#时间增加并对比做法.
.C#中构造函数和析构函数的用法.
.C#,深入浅出全接触(三).
.基于C#的接口基础教程之五.
.SUNWEN教程之----C#进阶(七).
.浅析C#的事件处理和自定义事件.
.基于C#的接口基础教程之四.
.C# 3.0新特性初步研究 Part6:使用.
.一个用c#写的扫描asp源码漏洞的应.
.C#,自然的进步.
.C# 2.0中泛型编程初级入门教程.
.数据结构与算法(C#实现)系列---演.
.C#编程实用技巧:轻松实现对文件.
.C# 2.0 套接字编程实例初探.

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

发表日期:2004-2-7


                       数据结构与算法(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());

 

 

          }

 

上一篇:数据结构与算法(C#实现)系列---演示篇(一) 人气:16307
下一篇:数据结构与算法(C#实现)系列---演示篇(三) 人气:13954
浏览全部数据结构与算法(C#实现)的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐