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

首頁 > 開發 > 綜合 > 正文

用C#實現數據結構--樹(二)

2024-07-21 02:17:25
字體:
來源:轉載
供稿:網友

數據結構與算法(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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普安县| 丽水市| 泰来县| 尚义县| 浦东新区| 从江县| 城市| 修水县| 德江县| 团风县| 南通市| 确山县| 溆浦县| 京山县| 崇阳县| 荔波县| 紫阳县| 紫金县| 奇台县| 贵州省| 姜堰市| 老河口市| 滨州市| 土默特左旗| 盐源县| 浙江省| 肇州县| 钟祥市| 西华县| 常德市| 华安县| 龙游县| 正宁县| 玉门市| 饶平县| 奎屯市| 柏乡县| 舒城县| 英德市| 宝丰县| 军事|