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

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

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

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

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

                    Heavenkiller(原創(chuàng))

 

         public class InOrder:iprePostVisitor

         {

              PRivate IVisitor visitor;

              public InOrder(IVisitor _vis){visitor=_vis;}

              #region IPrePostVisitor 成員

 

              public void PreVisit(object _obj)

              {

                   // TODO:  添加 InOrder.PreVisit 實現(xiàn)

              }

 

              public void Visit(object _obj)

              {

                   // TODO:  添加 InOrder.Visit 實現(xiàn)

                   this.visitor.Visit(_obj);

              }

 

              public void PostVisit(object _obj)

              {

                   // TODO:  添加 InOrder.PostVisitor 實現(xiàn)

              }

 

              #endregion

 

          }

         public class PostOrder:IPrePostVisitor

         {

              private IVisitor visitor;

              public PostOrder(IVisitor _vis){visitor=_vis;}

              #region IPrePostVisitor 成員

 

              public void PreVisit(object _obj)

              {

                   // TODO:  添加 PostOrder.PreVisit 實現(xiàn)

              }

 

              public void Visit(object _obj)

              {

                   // TODO:  添加 PostOrder.Visit 實現(xiàn)

              }

 

              public void PostVisit(object _obj)

              {

                   // TODO:  添加 PostOrder.PostVisitor 實現(xiàn)

                   this.visitor.Visit(_obj);

              }

 

              #endregion

 

         }

         protected class EnumVisitor:IVisitor

         {

              Queue thisQueue;

              public EnumVisitor(Queue _que)

              {

                   this.thisQueue=_que;

              }

              #region IVisitor 成員

 

              public void Visit(object _obj)

              {

                   // TODO:  添加 EnumVisitor.Visit 實現(xiàn)

                   this.thisQueue.Enqueue(_obj);

              }

 

              #endregion

         }

 

 

 

 

         #region IEnumerable 成員

 

         public IEnumerator GetEnumerator()

         {

              // TODO:  添加 Tree.GetEnumerator 實現(xiàn)

              EnumVisitor vis=new EnumVisitor(this.keyqueue);

              switch (this.traversaltype)

              {

                   case TraversalType.Breadth:

                       BreadthFirstTraversal(vis);

                        break;

                   case TraversalType.PreDepth:

                       PreOrder preVis=new PreOrder(vis);

                       DepthFirstTraversal(preVis);                      

                       break;

                   case TraversalType.InDepth:

                       InOrder inVis=new InOrder(vis);

                       DepthFirstTraversal(inVis);                   

                       break;

                  case TraversalType.PostDepth:

                       PostOrder postVis=new PostOrder(vis);

                       DepthFirstTraversal(postVis);                     

                       break;

             

                   default:

                       Console.WriteLine("WARNING:please set a travel type first!--void SetTraversalType(TraversalType _type) ");

                       //throw new Exception("WARNING:please set a travel type first!");//if not set a type, a exception will happen

                       break;

              }

              return this.keyqueue.GetEnumerator();

         }

 

         #endregion

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长乐市| 萨迦县| 喜德县| 千阳县| 昭苏县| 安庆市| 本溪| 中卫市| 湘潭市| 吉林省| 新巴尔虎右旗| 宜兰市| 青冈县| 阿巴嘎旗| 黔西| 平阳县| 林芝县| 鹰潭市| 峨眉山市| 重庆市| 随州市| 中阳县| 嘉兴市| 定陶县| 新化县| 云龙县| 德江县| 澄迈县| 会昌县| 涿鹿县| 绥德县| 玉山县| 开鲁县| 青神县| 双桥区| 红河县| 蓬安县| 洛宁县| 新宁县| 越西县| 东明县|