当前位置:首页 > 日记 > 正文

数据结构与算法C#实施系列展示三

数据结构与算法C#实施系列展示三

                   数据结构与算法(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);


 


         }


 


}


相关文章

Chrome应用程序启动器与Windows正

Chrome应用程序启动器与Windows正

应用程序,启动器,正式,电脑软件,Chrome,Chrome应用程序启动(Chrome应用程序启动器)桌面版 北京时间9月6日消息,Windows用户现在可以下载并启动Chrome应用程序启动器(Chrome应用程序启动器),这样它就可以立即获得谷歌浏览器应用程序,如Chrome浏览…

国内三家视频网站优酷、土豆、酷6

国内三家视频网站优酷、土豆、酷6

土豆,收入,视频网站,三家,国内,在中国最大的视频网站优酷土豆,6是,酷三。也许大家都知道很长一段时间他们都在赔钱。在不久的将来是什么情况 11月16日,优酷公布与美国证券交易委员会的文件,三个国内著名的视频网站,优酷财务数据、土豆、酷6,最终…

聊天的表达方法有趣的库克方法

聊天的表达方法有趣的库克方法

方法,聊天,库克,有趣,电脑软件,最近,Sogou Pinyin和拼音QQ的争夺是一种特殊的输入法悄然出现。在短短的几个月里,近百万的用户已被开发,吸引了不少网友的眼球。这个输入法是特殊的,它可以被嵌入在输入法你正在使用,当有些话可以被表达,它将显示给…

笔记本WIN7系统开机CPU使用率约为7

笔记本WIN7系统开机CPU使用率约为7

系统,使用率,约为,电脑软件,ARO,CPU的使用率很高,有两个软件,一个是启动一些占用大系统资源的程序,二是CPU不能加热,所以检查的方法是:在打开计算机后,单击任务栏,右键单击任务管理器},看看是否有一个占用CPU和内存的大过程。然后下载并安装一个360…

如何使用搜狗手机输入法

如何使用搜狗手机输入法

搜狗手机输入法,如何使用,电脑软件, 当我们每次更新搜狗输入法的词库,总会出现一些新兴热点词汇的更新提示。其实搜狗输入法每一次的词库更新所更新的热点词汇都是通过搜索引擎上最热门的搜索词汇每日排行提取出来的,浓缩了目前正…

使用微软工具MBSA了解计算机安全红

使用微软工具MBSA了解计算机安全红

计算机安全,工具,红线,电脑软件,MBSA,安全红线是你机器的底线。我不认为它需要解释太多,但是每个人都在常规测试中打开防火墙和防病毒测试,没有什么问题,但是在这个时候,你在防御能力下测试,你不可能知道你真正的安全红线。对于100%克隆,防火墙和…

让Windows2000服务运行得更好

让Windows2000服务运行得更好

运行,服务,电脑软件,文/ imails 当前版本有内置的服务对我们来说,不使用的服务不仅会占用系统资源,更重要的是开始一些服务会使被感染的系统(如33889terminal远程注册表服务和终端服务远程连接服务......)它是可能的,一些读者可能会禁用这些服务…

从2个小时看球员的市场需求

从2个小时看球员的市场需求

市场需求,看球,小时,电脑软件,最近,巨人的新游戏一天玩了两个小时,《轻松旅行2》的口号引起了业界的热议,对于游戏运营商来说,你不能整天沉迷于他的游戏中,作为营销天才史玉柱提出这样一个概念,有着惊人之处!仔细想想,这个想法充满了智慧。 U3000 …

微软WindowsMobile将并入Windows部

微软WindowsMobile将并入Windows部

部门,电脑软件,WindowsMobile,Windows,传微软Windows Mobile将合并到Windows部门:据国外媒体报道,微软在实施重组之后,Windows Mobile将成为微软主要的Windows业务部门的一部分。负责开发Windows Mobile和Xbox游戏机的微软娱乐和设备部门将看…

五种WindowsXP操作系统的最新应用

五种WindowsXP操作系统的最新应用

应用技术,操作系统,五种,最新,电脑软件,文本。 在本文中,我们将介绍五种最新的应用技术。 为Win XP中的重要文件设置私有文件夹 如果Win XP中有更多的用户,我们可以为安全起见将一些文件夹设置为个人文件夹。其他人无法查看和更改特殊文件…

从五个方面谈赢XP的减肥

从五个方面谈赢XP的减肥

电脑软件,XP,虽然它给我们带来了视觉享受、丰富多彩的功能,也无情地吞噬了我们的硬盘空间,如果你不采取相应的措施,你很快就会发现剩下的硬盘空间将越来越少!本文的目的是帮助您在不影响系统性能的情况下检索浪费的硬盘空间。 1。系统还原 系…

VFP与其他应用的集成

VFP与其他应用的集成

集成,与其他,电脑软件,VFP,作为数据库软件,Visual FoxPro 5不仅具有管理自己的数据的功能,还可以与其他应用程序集成到其它应用程序中获取数据。此外,通过Visual FoxPro 5,你也可以从微软Word文档中的表或视图的合并数据,生成邮件合并文档,或插入…