2

タイプのオブジェクトが1000個ありますMyClass

class MyClass{
    array<MyClass> objectsBehind;
    Boolean large;
}

はオブジェクトobjectsBehindの配列でありMyClass、この配列内のオブジェクトはすべて 1000 個の元のオブジェクトの一部です。

それらを配列に配置し、オブジェクトがその配列内のオブジェクトよりも配列内の高いインデックスに表示されるように並べ替えますobjectsBehind。たとえば、インデックス 546 のオブジェクトはobjectsBehind、並べ替えられた配列で 546 を超えるインデックスを持つオブジェクトを配列内に持つことはできません。

私の問題はこれです。1000 個のオブジェクトのうち約 20 個がプロパティを持っていますlarge = trueobjectsBehindプロパティに違反しない限り、これらの「大きな」オブジェクトを並べ替えられた配列に順番にグループ化することは有益です。たとえば、次のようにしたほうがよいでしょう。

array[45].large = false; array[46].large = true, array[47].large = true, array[48].large = true, array[49].large = false;

よりも

array[45].large = true; array[46].large = false, array[47].large = true, array[48].large = false, array[49].large = true; 

最初のシーケンスでは、2 番目の例では 3 つの大きなオブジェクトを分散させるのではなく、1 つのグループにまとめています。

これを行う良い方法が思いつきません。何か案は?

4

1 に答える 1