求这段程序的最优化算法!!!(一)
有一泛性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);
[解决办法]
第一个问题可以先排序,再查找,用循环就行
[解决办法]
选择排序
[解决办法]
顶吧!
[解决办法]
不需要遍历 排序后就很有查找规律了