国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

數(shù)據(jù)結(jié)構(gòu)與算法(C#實現(xiàn))系列---演示篇(二)

2019-11-18 19:43:40
字體:
供稿:網(wǎng)友

                       數(shù)據(jù)結(jié)構(gòu)與算法(C#實現(xiàn))系列---演示篇(二)

                            Heavenkiller(原創(chuàng))

         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.

              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;

              }

              //構(gòu)造一棵廣義樹 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);//設(shè)置遍歷類型

              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());

 

 

          }

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柞水县| 门源| 三明市| 德安县| 彭山县| 黄山市| 长沙县| 油尖旺区| 津市市| 会泽县| 新民市| 凤阳县| 英吉沙县| 祥云县| 九龙坡区| 松潘县| 济源市| 西藏| 溆浦县| 边坝县| 和政县| 辽源市| 虞城县| 萝北县| 安丘市| 南阳市| 华蓥市| 凤阳县| 新营市| 陵水| 米脂县| 保康县| 德清县| 东城区| 阳江市| 砀山县| 梓潼县| 新源县| 饶河县| 鄂托克前旗| 手游|