人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

數據結構與算法(C#完成)系列---樹(二)

數據結構與算法(C#完成)系列---樹(二)

更新時間:2022-07-24 文章作者:未知 信息來源:網絡 閱讀次數:

       數據結構與算法(C#實現)系列---樹(二)

                    Heavenkiller(原創)

 

         public class InOrder:IPrePostVisitor

         {

              private IVisitor visitor;

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

              #region IPrePostVisitor 成員

 

              public void PreVisit(object _obj)

              {

                   // TODO:  添加 InOrder.PreVisit 實現

              }

 

              public void Visit(object _obj)

              {

                   // TODO:  添加 InOrder.Visit 實現

                   this.visitor.Visit(_obj);

              }

 

              public void PostVisit(object _obj)

              {

                   // TODO:  添加 InOrder.PostVisitor 實現

              }

 

              #endregion

 

          }

         public class PostOrder:IPrePostVisitor

         {

              private IVisitor visitor;

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

              #region IPrePostVisitor 成員

 

              public void PreVisit(object _obj)

              {

                   // TODO:  添加 PostOrder.PreVisit 實現

              }

 

              public void Visit(object _obj)

              {

                   // TODO:  添加 PostOrder.Visit 實現

              }

 

              public void PostVisit(object _obj)

              {

                   // TODO:  添加 PostOrder.PostVisitor 實現

                   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 實現

                   this.thisQueue.Enqueue(_obj);

              }

 

              #endregion

         }

 

 

 

 

         #region IEnumerable 成員

 

         public IEnumerator GetEnumerator()

         {

              // TODO:  添加 Tree.GetEnumerator 實現

              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

 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 乌审旗| 陆良县| 泗阳县| 苍梧县| 门头沟区| 南召县| 阿拉善盟| 历史| 南岸区| 比如县| 仁化县| 潜江市| 武汉市| 延寿县| 本溪| 卢氏县| 秦安县| 微山县| 天水市| 南康市| 鄯善县| 青铜峡市| 涟水县| 忻城县| 通海县| 玉门市| 黔西| 顺平县| 绥芬河市| 荣成市| 平遥县| 历史| 宁南县| 固始县| 泗水县| 湟中县| 韶关市| 临泽县| 乐平市| 天津市| 西乡县|