<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      數據結構與算法(C#完成)系列---演示篇(3)

      [摘要]數據結構與算法(C#實現)系列---演示篇(三) Heavenkiller(原創) public static void ShowSortedList_Polynomial() //...

                         數據結構與算法(C#實現)系列---演示篇(三)

                                  Heavenkiller(原創)

       

               public static void ShowSortedList_Polynomial()

               {

                    //100+10*x+x^2  + 1+10*x+100x^2

                    SortedList tmpListA=new SortedList();

                    SortedList tmpListB=new SortedList();

                    SortedList tmpListC=new SortedList();//used to store the result

                    SortedList tmpKeyList=new SortedList();//used to store all keys of two polynomials

       

       

                    //init polynomial A and show it

                    tmpListA.Add(0,100);

                    tmpListA.Add(1,10);

                    tmpListA.Add(2,1);

                    ShowSortedList_ShowPolynomial("tmpListA",tmpListA.GetEnumerator());

       

                    //init polynomial B and show it

                    tmpListB.Add(0,1);

                    tmpListB.Add(1,10);

                    tmpListB.Add(2,100);

                    ShowSortedList_ShowPolynomial("tmpListB",tmpListB.GetEnumerator());

       

                    //init the key list which contains all keys of A and B but everyone once

                    IDictionaryEnumerator tmpIDic=tmpListA.GetEnumerator();

                    while(tmpIDic.MoveNext()!=false)

                    {

                         if(!tmpKeyList.ContainsKey(tmpIDic.Key))

                         {

                             tmpKeyList.Add(tmpIDic.Key,null);

                         }

                    }

       

                    tmpIDic=tmpListB.GetEnumerator();

                    while(tmpIDic.MoveNext()!=false)

                    {

                         if(!tmpKeyList.ContainsKey(tmpIDic.Key))

                         {

                             tmpKeyList.Add(tmpIDic.Key,null);

                         }

                    }

       

                    //Add A and B and show the result

                    tmpIDic=tmpKeyList.GetEnumerator();

                    while(tmpIDic.MoveNext()!=false)

                    {

                         object objA=null,objB=null,objC=null;

                         objC=tmpIDic.Key;

                         if(tmpListA.ContainsKey(objC))

                             objA=tmpListA[objC];

                         if(tmpListA.ContainsKey(objC))

                             objB=tmpListB[objC];

                         //objC=objA+objB;

                         //tmpKeyList[objC]=(int)objA+(int)objC;

                         tmpListC.Add(objC,(int)objA+(int)objB);

       

                    }

                    ShowSortedList_ShowPolynomial("the addition result of A and B",tmpListC.GetEnumerator());

       

              

                   

               }

               public static void ShowSortedList_ShowPolynomial(string tip,IDictionaryEnumerator iDic)

               {

                    string strExpress=null;

                    iDic.Reset();

                    while(iDic.MoveNext()!=false)

                    {

                         strExpress+=iDic.Value.ToString()+"*X^"+iDic.Key.ToString()+"+";

                    }

                    Console.WriteLine(tip+":"+strExpress);

       

               }

       

      }




      日韩精品一区二区三区高清