日期:2014-05-19  浏览次数:20506 次

求这段程序的最优化算法!!!(一)
有一泛性List <PageItemInfo>   values变量,里面有数据,但是顺序是乱得。
PageItemInfo的结构主要有3个属性:PageURL(string)、PageOtherDesn(string)和PageRank(int)

想要实现下面要求得到最优化算法:
1、修改或调整values里的每一项PageRank的数值。

要求:
当发现任意两个values单项的PageURL属性内容重复时,根据PageOtherDesn属性内容对PageRank属性作修改或调整。

比如:
//a,b都是values的单项
if(a.PageURL==b.PageURL){
      if(b.PageOtherDesn== "A "){
            a.PageRank=xxx;//修改重要度
      }else   if(b.PageOtherDesn== "B "){
            a.PageRank=xxx;//修改重要度
      }else   if(b.PageOtherDesn== "C "){
            a.PageRank=xxx;//修改重要度
      }
      //清理掉多余的b
}
我现在是两个foreach;外面的foreach是针对values,里面的foreach是针对新生成的newvalue

2、将values里的每一项,按PageRank从小到大或从大到小排序(这个我写了System.Collections.Generic.IComparer)

------解决方案--------------------
排序的直接调用sort
values.Sort(comparer);
------解决方案--------------------
第一个问题可以先排序,再查找,用循环就行
------解决方案--------------------
选择排序
------解决方案--------------------
顶吧!
------解决方案--------------------
不需要遍历 排序后就很有查找规律了