循环遍历列表以有效地查找具有最大数量的对象!

Edd*_*223 2 c# algorithm xna physics list

使用c#我有一个列表,这些对象都有一个浮动质量,在创建对象时随机化.

什么是循环列表并找到质量最高的对象的最有效方法?

Ken*_*kot 7

使用简单列表执行此操作的最有效方法是使用简单的线性时间搜索,如

SomeObject winner;
float maxMass = 0.0f; // Assuming all masses are at least zero!
foreach(SomeObject o in objects) {
    if(o.mass > maxMass) {
        maxMass = o.mass;
        winner = o;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果这是您打算定期进行的操作,将对象存储在按质量分类的顺序中和/或使用更合适的存储容器可能是有益的.